どうせ2日で終わる日記-69-(データセットが好きすぎるからちょっと語らせてくれないか?)【9/26-10/2】
マナ
データセットが好きすぎるからちょっと語らせてくれないか?
懐かしのスレタイ風タイトルなのは今回の本題とは別に何ら関係はない。
僕は大学院で機械学習やデータサイエンスを学んでいる。
研究分野は完全に生態学なのでこれらの研究をしている訳ではなく、ただ自身の研究で使いたいからという理由で学んでいるため、研究しているとは書いていない。
さて、そんなデータサイエンスを学ぶ際に必ず必要になるのが「データセット」だ。
解説用の記事ではないのでここではデータセットとは何なのか、という話はしない。それは各自ggってくれ。
データサイエンスを学んだ人間ならば、誰しも少なくとも一度はそうしたデータセット、特にインターネットで無料で公開されているデータセットに触れたことはあると思う。
MNISTはほとんどすべての機械学習の参考書に用いるデータセットとして書かれているし、画像処理系でいえばより汎用的なモデルを作るためにCifarシリーズ(Cifar-10, Cifar-100)やImageNetなどは頻繁に用いられる。
言語処理系で言えば日本語では少納言や中納言の日本語コーパス、もしくはwikiextractorを用いたwikipediaのコーパスなどが有名だ。
https://clrd.ninjal.ac.jp/bccwj/
ニューラルネットワークだけじゃなく、例えばクラスタリングや回帰分析、決定木の学習などにはsklearnでインストールできるアヤメのデータセットやKaggleで公開されているタイタニックの乗客データセットなどが練習用のデータセットとして良く使われる。
さて、このようにデータセットはインターネット上に数多く存在するが、僕はそんなデータセットが好きだ。
「私はね、データセットが大好きで、恋していて愛しているの。」とは僕の心に棲むクレマンティーヌのセリフだが(オーバーロード1期参照)、こういうデータセットを無料で使えることには本当に感謝しか覚えない。
データサイエンスを学んだり、機械学習を実践してみようと考えたことのある人間なら感じたことがあるとは思うが、こうした学問において最も面倒で時間のかかる作業はデータセットづくりだ。
恐らく実際のモデル作成の手順において大半の労力と時間を注ぎ込むのがこのデータセットの準備であると言っても過言ではない。
そうした必要ながらも地味で退屈な作業を要するデータセットが無料で、しかもデータが揃っている形で使える。
こんな素晴らしいことがあるだろうか。
こうした理由から僕はデータセットが好きだ。
ところで、データセットというのは何もこうした物だけではない。
つまり、既に最初からpythonなどで簡単に処理できるような形でデータを提供してくれているものだけではない、ということだ。
自分でデータを多少分類なり整形なりする必要があるが、データが一カ所にまとまって存在しているのも、またデータセットといえるだろう。
そうしたものは、やはりどうしてもそのデータを揃える手間が多少ある為、初心者向けのテキストなどで紹介されることは少ない。
しかし、そうしたものはえてして他のデータセットでは得られない特殊なデータだったり、より実務的に用いることのできるデータだったりする。
では実際にはどういうデータセットがそれに該当するのか。
有名どころでいうと、「キルミーベイベーデータセット」というものがある。
……まあ、この名前は勝手に誰かが言い出した名前であり、公式がそう言っている訳では無いのだが。詳細は以下の記事を参照して欲しい。
まあ端的に言ってしまえば、キルミーベイベーの公式がアイコン用に686枚の画像を無償で提供しているのだが、それがまあ機械学習に使いやすいのだ。
何が凄いか。まず枚数だ。686枚という機械学習に用いるにしてはやや少ない枚数だが、実際の業務でモデルを作成するとなるとこれくらいのデータしかないことがザラにある。
データ数が多ければ、正直数で押し通して何とかなることが多い。しかし、そうではないのが現実であり、そのためには工夫を凝らさなければならない。
したがって、キルミーDSに対応したモデルを作ることで、現実的にやりたいタスクにも用いることのできる強固なモデルを得ることができる。
さらに言えば、キャラクターごとに枚数に偏りがあるので、それも起こりがちなデータ分布と合致していて良い。
あとは画像サイズも良い。128x128、つまり一片の長さが2の7乗であり、畳み込みなどでサイズを半分にするのに、何も考えずに突っ込める点が良い。
さらに言えば正方形であるため、これもまたモデルが組みやすい。
これだけ便利だとキルミー公式の中にデータサイエンスに強い人間がいるのではないかと疑ってしまうほどだ。
もし画像処理系の機械学習をするならば、是非とも使ってみて欲しい。
その他、個人的に最近気に入っているデータセットとして、NOAAやJAMSTECのROVによる映像記録のデータベースがあ僕は
これらは簡単に言えば深海の探査記録映像のアーカイブだ。
このサイトにアクセスして適当に検索をかければ、様々な深海調査の記録や深海生物の映像記録を見ることができ、それだけで既に楽しい。最近僕は息抜きとしてここにある映像を見ている。
しかし、勿論映像として楽しむのもいいのだが、機械学習用のデータとして使うのも良い、と僕は考えている。
JAMSTECについては研究や教育目的、私的利用の範囲ならば自由に利用できるらしいし、NOAAのデータベースもパブリックドメインのようだ(とは言っても実際に利用する際はちゃんと自分の目で利用規約を確認して欲しい)。
これらのデータは、例えば海中映像からの物体検出や生物種の同定、ROVの自動トラッカーなど、様々なモデルを作成するにあたって非常に有用だろう。
もしくは、映像記録から動物の行動を観察して何らかの悟りがあってもいいかもしれない。
ただ、特にこのデータセットが良いと思う一番の理由は、これらのデータの稀少性にある。
まあ言ってしまえば、パンピーに深海の映像など撮れるわけがないのだ。つまり、我々では用意しようがない。大学で深海魚を研究している僕でさえ、こんなROVの鮮明な映像を撮ることができないのだから、分野外の人間などは更にそうだろう。
こんな貴重なデータをこれだけ自由に使わせてくれるとは、なんと良い時代に生まれたのだろうか、と感激している。
因みに、NOAAの方は海への投入から回収までフル尺で映像が残っているので、そこから目的の生物だけを探すのは結構大変であることは言っておく。
単純に面白生き物映像だけを見たい!という方はJAMSTECの方を見るか、NOAAの海洋探査プロジェクトOkeanos Explorerの公式YouTubeチャンネルを見たほうが良い。
こうしたデータは探せば、本当に、本当にたくさんある。
そして何より、こうしたデータセットは検索すれば無限に出てくるし、データセットをまとめたデータベースも存在する。
怒涛のAIの開発競争が繰り広げられているこの時代、恐らく今あなたが欲しているデータに類似する何かは、インターネットで既に公開されているかもしれない。
という訳で、ご一緒に……
せ~の!
データセット、最高~!!
この記事が気に入ったらサポートをしてみませんか?