| 機械学習および データマイニング |
|---|
|
|
ImageNetは、物体認識ソフトウェアの研究において、ソフトウェアの最適化や性能の評価等に用いるために設計された、大規模な画像データセットである。またこのデータセットを作成するプロジェクトのこと。
ImageNetは、2009年にAI研究者のフェイフェイ・リらが発表したデータセットで、1400万を超える画像が含まれており、さらにそれぞれの画像に写っている物体の種別を示す情報が付与されている。この物体種別は、20,000以上のカテゴリに細分されている。発表時点で既に存在していた他のデータセットと比較すると、ImageNetのカテゴリ数や画像数はともに約1000倍と桁違いに大きな規模であった。従来に類を見ない大規模な画像データセットの登場は、2010年台初頭から始まった画像分野のディープラーニングの隆盛の一因になったと評価されている。2024年時点ではさらに大きなデータセットも登場しているが、それでもなお、ディープラーニングにおけるモデルの学習や、性能評価に用いられ続けている。
また、2010年から2017年まで毎年、ImageNetプロジェクトはImageNetデータセットを題材とした、大規模な画像認識技術コンテストであるILSVRC(the ImageNet Large Scale Visual Recognition Challenge)を開催していた。このコンテストは、ソフトウェアが物体や情景をどれだけ正しく分類、検出できるかを競うものである。特に2012年のコンテストでディープラーニングを利用したAlexNetが優勝したことが、ディープラーニングという技術が注目される大きなきっかけになったとされている。
ImageNetが発表される以前は、ほとんどの機械学習の研究が小規模のデータセットがあれば十分なアルゴリズムに依存していた。特に人が手動で設計した特徴量を用いたり、タスクごとのドメイン知識や事前知識を活用したりするものも多かった。また、ImageNetと同様に複数のカテゴリの画像を含むデータセットとしては、Caltech101やPascal VOC、TinyImages等のデータセットがあったが、Caltech101やPascal VOCはImageNetと比較すると数千から数万枚と小規模であり、TinyImagesについてはそのラベルが正確であるか手動で確認されていないものだった。
こうした状況の中、AI研究者のフェイフェイ・リは、大部分のAI研究がモデルとアルゴリズム、特定のタスクに焦点を合わせていることに気づいた。一方で彼女は、人間の子どもが実際に見たものをすぐに学んでいくのと同様の学習が、コンピュータにもできるのではないかと仮説を立てたのである。そこで、モデルではなくデータに着目し、AIアルゴリズムの学習に利用できるデータセットを拡張、改善したいと考えた。彼女は2006年にImageNetの実現に取り組み始めた。WordNetの作成者の1人であるプリンストン大学のChristiane Fellbaum教授と面会した際に、WordNetの単語データベースを元に画像をカテゴライズするという考えの元となるヒントを得たのである。リーはプリンストン大学の助教授として、2007年にImageNetプロジェクトに取り組むための研究者チームを編成した。
2007年にプロジェクトチームを発足させたリー達は、研究助成金の申請が連邦政府に拒否される等、研究の意義が理解されないとともに、金銭的にも厳しい状況に置かれていた。前例のない巨大なデータセット構築には様々な課題があったが、WordNetを用いたカテゴライズやインターネットを利用した画像収集、クラウドソーシングを利用したカテゴライズ作業の実施等の工夫により、大規模データセットの構築を進めた。構築には約2年半を要し、チームはフロリダで開催された2009年のConference on Computer Vision and Pattern Recognition(CVPR)で、初めてデータベースを対外向けにポスターで発表した。

その後、プロジェクトへの注目があまり高まらなかったため、チームはヨーロッパで毎年開催されているVOCチャレンジという画像認識コンペティションに、ImageNetも採用するように提案した。2010年からImageNetを用いたコンペティションであるImageNet Large Scale Visual Recognition Challenge(ILSVRC)が始まった。このコンペティションは2017年まで毎年実施されており、ImageNetのデータを分類、検出するタスクを通じて、ImageNetのデータを分類、検出する能力を競うものである。ILSVRCは、2005年に設立されたPASCAL VOCチャレンジという、より小規模なコンテストの後を継ぐことを目的としたものである。PASCAL VOCチャレンジには、約20,000枚の画像と20の分類クラスしか含まれていなかった。ImageNetを開かれたものにするため、フェイフェイ・リーはPASCAL VOCチームに協同することを提案した。この取り組みは、研究チームが特定のデータセットでアルゴリズムを評価し、いくつかの視覚認識タスクでより高い精度を達成するために競争するというもので、これがILSVRCのはじまりである。ILSVRCには、画像に写る物体のカテゴリを特定するクラス分類、画像に写る特定の1カテゴリの物体の位置を特定するローカライゼーション、画像に写る所定のカテゴリにあてはまる全ての物体の位置を特定する物体検出の3つの部門があった。
2011年頃には、ILSVRCの分類タスクにおけるTop-5 エラー率は約25%だった。その後2012年に、AlexNetと呼ばれる深層畳み込みニューラルネットを用いたモデルがTop-5 エラー率約16%を達成した。さらにそこからの数年間で、Top-5エラー率は数パーセントまで低下した。2012年のAlexNetのブレイクスルーは「それまでに存在していたものの組み合わせ」であったが、AlexNetは大量のデータを学習することで劇的な性能改善を図っており、この大量データを学習できるようになる改善は、業界全体で人工知能ブームが始まるきっかけとなった。これ以降も、2014年に2位の成績を挙げたその非常にシンプルな構成も有名なVGGや、2015年に優勝した、勾配消失問題と呼ばれる大規模なモデルを学習することを阻害する問題への対策を含むResNetなど、後の画像認識に影響を与えるアルゴリズムが登場するコンテストであった。特に、ResNetはTop-5 エラー率約3.5%という好成績を叩き出し、ResNetを提案したMicrosoftの研究者チームは、狭いILSVRCタスクにおいては、CNNの認識性能が人間の能力を超えたとも報告した。
2014年までに、のべ80を超える団体がILSVRCに参加した。2015年には百度の研究者が、1週間のうちに2回までしかモデルを提出できないという制限を、複数のアカウントを用いることで破ったとして、1年間参加を禁じられた。その後百度は、関与したチームリーダーを解雇し、エンジニアに助言する委員会を設置すると発表した。
2017年には、参加した38チームのうち29チームが95%を超える精度を達成した。こうしたことから、ImageNetももはやディープラーニング技術の進展を測るベンチマークとしては、データ量が少ないと指摘されることもある。精度の向上が進み上昇の余地が小さくなってきたことを理由に、2017年を最後に終了することを発表し、同年7月の大会が最後となった。
ImageNetのデータセットには、様々な文脈に応じて多くのバリエーションがある。オリジナルの完全なデータセットは"ImageNet-21K"と呼ばれている。このデータセットは 14,197,122枚の画像を含み、21,841クラスに分類されている。具体的には、「気球(balloon)」や「イチゴ(strawberry)」といった一般によく見られる様々な物体カテゴリが含まれており、それぞれのクラスは通常数百枚の画像で構成されている。文献によってはクラス数を繰り上げて、"ImageNet-22k"と呼称するものもある。また、最もよく使われるサブセットの一つは、 "ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012-2017 image classification and localization dataset" である。このデータセットは、研究によっては "ImageNet-1K" や "ILSVRC2017"、"ImageNet 1K-ILSVRC"と呼ばれることもある。このデータセットは、ILSVRC用にクラス数を1000クラスに調整したもので、ImageNet-1Kは 1,281,167 枚の訓練画像と50,000枚の検証画像、100,000枚の評価画像を含んでいる。この他にも、プライバシーに配慮し人物の顔が映った画像を個人が特定できないようにしたものや、非公式での展開として、ImageNetV2と呼ばれる10,000枚ずつの3種の画像を含む新たなデータセットで、元々のImageNetのデータセットと同じ方法で構築されたものなどがある。
なお、ImageNetは画像のURLと画像それぞれに対するアノテーションのデータベースを提供しており、ImageNetから直接無料でダウンロードできるが、実際の画像自体はImageNetが所有しているわけではない。学術研究や非営利目的でのみ利用可能であり、利用者は別途与えられたURLをもとに画像をダウンロードする必要がある。また、コンペティションで用いられるデータセットについてはコンテスト開催時にデータが直接配布されており、ImageNet-1Kについては2024年現在においても、Kaggle経由でダウンロードすることができる。
ImageNetの構築作業は、データの収集とデータのクリーニングの2つのステップに分かれている。
データの収集は、WordNetに基づくsynsetと呼ばれる単語が指す概念ごとに行われる。WordNetに含まれる類義語での言い換えや他言語への変換も行いながら、検索エンジンを用いてインターネット上から画像を収集する。synset毎に500~1000枚程度の画像を収集することが最終的な目的であるため、検索エンジンの精度も考慮し10000枚程度の画像を収集する。
その後、信頼度の低いカテゴライズがなされたデータを取り除くため、クリーニングを実施する。クリーニング作業にかかる工数は膨大で、リーは当初自分の大学に所属する学生にアルバイトを依頼したが、その作業ペースでは完了までに10年単位の時間がかかることや学生は試験などにより作業が想定通りに進まないこともあると気づき、中止したこともある。最終的に、データのクリーニングにはAmazonMechanicalTurkと呼ばれる、タスクを完了すると報酬が得られる、クラウドソーシングのプラットフォームが利用された。このプラットフォームを通じて、世界の約49000人の作業者に分担して作業を速やかに完了させることができるようになった。このプラットフォームを通じて作業者に、synsetと対応する画像の組を提示し、1枚ごとにそのsynsetに対応するものが映っているかを選択させた。そして、同じ作業を複数の作業者に割り当て、最終的には多数決的なやり方でその画像に対応するクラスを決めるようにした。これは、作業者によって判断にブレが生じたり、たまたま偏った認識をしている可能性を排除するためである。また、作業者が不正に報酬を得るためにランダムに回答することを防ぐため、予め答えがわかっている画像も作業対象に含め、それらに対する正答率が高い作業者の結果のみを採用するなどの工夫もなされている。
2010年から開始したILSVRCにデータセットを作成・提供するにあたり、大きな問題点が2つあった。一つは、コンペティションの公平な評価をするために、これまでに公開されていない新たな評価用のデータセットを準備することであり、もう一つはコンペティションで性能を測るタスクに応じてデータセットを調整したり、追加のアノテーションをしたりが必要になることである。一つ目の問題点については、元々のImageNet-21Kを作った際の手順の一部を改めて用いることで解決した。
二つ目の問題点については、ILSVRCにある3つのクラス分類部門、ローカライゼーション部門、物体検出部門の3つのタスクごとに、さらに細分できる。
分類とローカライゼーションの学習用データについては、既存のImageNet-21Kをベースにカテゴリの調整を行った約1000クラスのデータセットを作成しており、これがImageNet-1Kと呼ばれるデータセットにあたる。クラスを1000クラスに絞っているのは、タスクの目的に適したクラスのみを選定したいことや、アノテーションの難易度などが理由である。また検出タスクについては、データセットの収集やアノテーションの難易度が高すぎるため、クラス数は200程度に絞りこみ、画像も新たに収集している。分類やローカライゼーションと異なり、画像を新たに収集したのは、検出タスクでは多数の物体が写り込む中からそれぞれの物体を識別することが求められるため、より雑然とした多様な物体が写る画像が適しているためである。
また、ローカライゼーションや検出タスクでは、もともとImageNetプロジェクトでは作成していなかった、物体のバウンディングボックスを付与する必要がある。この作業は、画像に写る物体のカテゴリを単に特定する分類タスク向けのアノテーションよりも難しいため、作業効率の低下や品質低下が問題となる。そこで、ローカライゼーションについては画像を1枚ずつ処理することとし、与えられたクラスの物体でまだバウンディングボックスが付与されていないものを一つだけ見つけバウンディングボックスを付与する役割と、新たに作成されたバウンディングボックスが正確かどうか品質を確認する役割と、画像内にまだバウンディングボックスが付与されていない物体が残っているかを判断する役割の3つに工程を分割した。これによって、各作業者がより簡便に作業を完了できるように、またその品質を保証できるようにしている。 検出タスクでも同様の手順を踏むが、検出タスクは画像内に映る全てのクラスの物体を検出する必要があるという性質上、ローカライゼーションの手順を単に実施するだけでは、ローカライゼーションのクラス数倍の工数が必要になってしまう。そこで、全てのクラスに対し一つ一つ画像に映っているかどうかを作業者に尋ねる代わりに、複数のクラスをまとめたより上位の概念、例えば「犬」や「猫」、「ウサギ」の代わりに「動物」が映っているかを聞くことで、効率的にアノテーションが必要なクラス数を絞るといった工夫を行っている。これは、同じ画像内に映る物体のカテゴリ同士には相関がある点や、通常は非常に多くのクラスの物体が1画像に同時に写っていることはあまりないという仮説を元にしている。
2012年9月30日、 AlexNetと呼ばれる畳み込みニューラルネットワーク(CNN)が、ILSVRC2012においてトップ5エラーで16.4%を達成した。これは、次点のものより約10%程度低い値で、顕著な好成績であった。『エコノミスト』誌は、「ディープラーニングは突如として、AIコミュニティに留まらず、テクノロジー業界全体で注目を集めるようになった。」と評している。2015年には、Microsoftが開発した100層を超える非常に層の深いCNNがAlexNetを上回り、ImageNet2015コンテストで優勝した。こうした大幅な性能向上の理由として、深層学習モデルの構造が発達したことや深層学習モデルの学習で並列計算に用いられるGPUの性能向上が著しいことに加え、深層学習モデルを十分に学習できるImageNetのような大規模データセットが登場したことも挙げられている。
ILSVRCは2017年に終了しているが、ImageNetのデータベースは現在でもモデルやアルゴリズムの性能を比較するためのベンチマークとして画像認識の分野でしばしば利用されている。また、大規模モデルの事前学習に活用されている例もある。
また、ImageNet自体が登場したことによる、深層学習研究への影響も大きい。画像分野ではAlexNetの成功以降、大量のデータを学習させることの重要性が認識されるようになっている。例えば、ノイズの多いデータセットでも大量にあれば画像分類タスクに高い性能を示すという研究や、ImageNetの貢献に触発され、ImageNetよりも大きなデータセットを作成し、データセットの大きさと性能の関係性を調査した研究がなされるなど、より大容量のデータセットに対する研究がますます進んでいる。また、Medical ImageNetやActivityNetなど、画像分野の関連データセットにもImageNetを意識した命名がされていたり、他分野ではMusicNetと呼ばれるデータセットが登場したりなど、ImageNetが研究を行う上での標準として強く意識されている。さらに、「自然言語処理にもImageNetの瞬間がやってきた!」というタイトルのブログ記事が投稿されるなど、大規模なデータセットが成熟したことの象徴のように扱われている例もあると、(Denton et al. 2021, p. 6)は評している。
課題の一つは、WordNetに由来するクラス階層の妥当性である。ImageNetでは、例えば犬に対しては120の犬種のカテゴリで分けられるなど、細かく分類されているが、その欠点としてImageNetに対して本来最適なカテゴリ分けと粒度や階層が合わない可能性があることが挙げられる。
また、2019年に行われたImageNetとWordNetに関する様々な観点(分類体系、物体クラス、データラベリング)からの研究により、ほとんどの画像分類アプローチにImageNetやWordNetのデータセットのバイアスが深く埋め込まれていることが示されている。例えばGoogleの研究者は、2020年に、ImageNetのラベルを新たに付与し直しそのデータセットで複数の画像認識アルゴリズムの性能を評価したところ、性能を改善する効果がアルゴリズムの作成者が主張するものより小さくなったと指摘している。同時にアルゴリズムの性能向上が、こうしたImageNetのラベルの誤りに対して過学習している可能性も指摘している。また、1つの画像に複数の物体が写っているケースも多く、それがモデルの性能に影響を与えているという指摘もある。ImageNetは、こうしたバイアスが生じた原因に対処するための取り組みを進めている。
さらに、ImageNetの画像がデータ収集過程で顔にぼかしを入れていないというプライバシーの問題もある。 他に、人物の顔画像に対するカテゴリに侮蔑的な表現を含むものがあったことを2019年に明らかにし、そうしたカテゴリを除去したデータセットを新たに公開するといったデータ作成上の課題も表出している。