2歳の人間の子供は、色、メーカーなどに関係なく妥当な精度で識別できるように、車のインスタンスを約5つ必要とします。息子が2歳のとき、彼は、少しだけ。彼は通常、お互いを混同していたため、明らかに彼のニューラルネットワークは十分に訓練されていませんでしたが、それでもまだです。
人工ニューラルネットワークが不足しているため、より速く学習することができません。転移学習は答えですか?
2歳の人間の子供は、色、メーカーなどに関係なく妥当な精度で識別できるように、車のインスタンスを約5つ必要とします。息子が2歳のとき、彼は、少しだけ。彼は通常、お互いを混同していたため、明らかに彼のニューラルネットワークは十分に訓練されていませんでしたが、それでもまだです。
人工ニューラルネットワークが不足しているため、より速く学習することができません。転移学習は答えですか?
回答:
生物学的ニューラルネットワークと人工ニューラルネットワークの強い類似性を期待しないように注意します。「ニューラルネットワーク」という名前は少し危険だと思います。なぜなら、それは人々をだまして、神経学的プロセスと機械学習が同じであるべきだと期待させるからです。生物学的ネットワークと人工ニューラルネットワークの違いは、類似性よりも重要です。
これがいかにうまくいかないかの例として、頭の上の元の投稿で推論を回すこともできます。適度に高速なコンピューターとある程度のトレーニングデータがあれば、午後に車を認識することを学習するためにニューラルネットワークをトレーニングできます。これをバイナリタスク(車/車ではない)またはマルチクラスタスク(車/路面電車/自転車/飛行機/ボート)にして、高いレベルの成功に自信を持つことができます。
対照的に、「非常に多くのトレーニング例」を見た後であっても、子供が生まれた日、または週にさえ、車が出てくるとは思わないでしょう。学習能力の違いを説明する2歳児と乳児では明らかに違いがありますが、バニラ画像分類ニューラルネットワークは「誕生」の直後にオブジェクト分類を完全に取得できます。2つの重要な違いがあると思います:(1)利用可能なトレーニングデータの相対的な量、(2)豊富なトレーニングデータのために時間の経過とともに発達する自己学習メカニズム。
元の投稿には2つの質問があります。質問のタイトルと本文は、ニューラルネットワークに「非常に多くの例」が必要な理由を尋ねています。子どもの経験に比べて、一般的な画像ベンチマークを使用してトレーニングされたニューラルネットワークには、データが比較的少なくなっています。
タイトルの質問を言い換えます
比較のために、CIFAR-10データは一般的なイメージベンチマークであるため、ここで検討します。ラベル付けされた部分は、10クラスの画像で構成され、クラスごとに6000個の画像があります。各画像は32x32ピクセルです。CIFAR-10のラベル付き画像を何らかの方法で積み重ねて、標準の48 fpsビデオを作成した場合、約20分の映像が得られます。
毎日12時間、世界を観察する2歳の子供は、大人(ラベル)からのフィードバックを含めて、世界を約263000分(4000時間以上)直接観察します。(これらは単なる球形の数字です-典型的な2歳の子供が世界を観察するのにどれだけの時間を費やしたかわかりません。)さらに、CIFAR- 10。
そのため、いくつかの遊びがあります。1つは、CIFAR-10モデルよりも全体的に多くのデータと多様なデータソースに子供がさらされていることです。データの多様性とデータ量は、一般に堅牢なモデルの前提条件として十分に認識されています。この観点から、CIFAR-10でトレーニングされたニューラルネットワークは、2歳に比べてトレーニングデータが積極的に不足しているため、このタスクでニューラルネットワークが子供よりも悪いことは驚くことではないようです。子供が利用できる画像解像度は32x32 CIFAR-10画像よりも優れているため、子供はオブジェクトの詳細に関する情報を学習できます。
CIFAR-10と2年前の比較は完全ではありません。CIFAR-10モデルは同じ静止画像上で複数のパスでトレーニングされる可能性が高いため、子供は両眼視を使用してオブジェクトが3同じオブジェクトのさまざまな照明条件と視点で動き回る間の次元の世界。
OPの子供に関する逸話は、2番目の質問を暗示しています。
子どもには自己学習の才能が備わっているため、最初からやり直すことなく、新しいカテゴリのオブジェクトを時間をかけて追加できます。
転送学習に関するOPの発言では、機械学習のコンテキストにおける1つの種類のモデル適応を挙げています。
コメントでは、他のユーザーは、ワンショット学習と少数ショット学習*が別の機械学習研究分野であることを指摘しています。
さらに、強化学習は異なる視点から自己学習モデルに対処し、本質的にロボットが試行錯誤の実験を行い、特定の問題を解決するための最適な戦略を見つけることを可能にします(チェスなど)。
これら3つの機械学習パラダイムはすべて、マシンが新しいコンピュータービジョンタスクに適応する方法を改善することに密接に関係していることはおそらく事実です。機械学習モデルを新しいタスクにすばやく適応させることは、活発な研究分野です。ただし、これらのプロジェクトの実際の目標(マルウェアの新しいインスタンスを特定し、パスポート写真で詐欺師を認識し、インターネットにインデックスを付ける)と成功の基準は、世界について学ぶ子供の目標とは異なります。数学とその他を使用するコンピューターは化学を使用して有機材料で行われ、2つの間の直接比較は困難なままです。
余談ですが、CIFAR-10の問題をひっくり返し、それぞれの10個の例から6000個のオブジェクトを認識するようにニューラルネットワークをトレーニングする方法を研究することは興味深いでしょう。しかし、これでも2歳児との公平な比較にはなりません。トレーニングデータの合計量、多様性、解像度に大きな矛盾があるためです。
*現在、ワンショット学習または少数ショット学習用のタグはありません。
まず、2歳のとき、子供は世界について多くのことを知っており、この知識を積極的に適用します。子供は、この知識を新しい概念に適用することにより、多くの「転移学習」を行います。
第二に、これら5つの「ラベル付き」車の例を見る前に、子供は路上やテレビ、おもちゃの車などで多くの車を見るので、事前に多くの「教師なし学習」も起こります。
最後に、ニューラルネットワークは人間の脳とほとんど共通点がないため、それらを比較する意味はあまりありません。また、ワンショット学習のためのアルゴリズムがあり、それに関するほとんどの研究が現在行われていることに注意してください。
私が現在の答えで見ない1つの主要な局面は進化です。
子供の脳は一から学習しません。それは、シカとキリンの赤ちゃんが生後数分で歩くことができる方法を尋ねることに似ています。彼らはすでにこのタスクのために配線された彼らの脳で生まれているからです。もちろん微調整が必要ですが、シカは「ランダムな初期化」から歩くことを学びません。
同様に、大きな動く物体が存在し、追跡することが重要であるという事実は、私たちが生まれたものです。
ですから、この質問の前提は単に間違っていると思います。人間のニューラルネットワークには、多くの場合、車ではなく-難しいテクスチャや形状などの3Dオブジェクトを移動、回転させる機会がありましたが、これは何世代にもわたり発生し、進化アルゴリズム、つまり脳このタスクに適した構造であり、より高い確率で再現するために生きることができ、最初からより良い、より良い脳の配線を次世代に残すことができました。
ニューラルネットワークについてはあまり知りませんが、赤ちゃんについてはかなり知っています。
多くの2歳児は、一般的な言葉のあり方について多くの問題を抱えています。たとえば、その年齢では、子供が4脚の動物に「犬」を使用することは非常に一般的です。それは「車」よりも難しい区別です。たとえば、プードルがグレートデーンとどのように見えるかを考えてください。なお、猫はそうではありませんが、どちらも「犬」です。
また、2歳の子供は、「車」の5つ以上の例を見てきました。子供が家族がドライブに行くときはいつでも、車の数十または数百の例を見ます。そして、多くの親が「車を見て」と5回以上コメントするでしょう。しかし、子供たちは、彼らが知らされなかった方法で考えることもできます。たとえば、路上で子供はたくさんのものが並んでいるのを見ます。彼のお父さんは(ある人の)「ピカピカの車を見ろ!」と言います。子供は「並んでいる他の物もすべて車かもしれない」と考えます。
これは魅力的な質問であり、私も多くのことを熟考しました。その理由をいくつか説明することができます。
2歳の人間の子供は、色、メーカーなどに関係なく、妥当な精度で識別できるように、約5個の車のインスタンスを必要とします。
「インスタンス」の概念は簡単に泥だらけになります。子供は車の5つのユニークなインスタンスを見たかもしれませんが、実際には多くの異なる環境で数千のフレームを見ました。彼らはおそらく他の文脈で車を見てきました。彼らはまた、生涯にわたって発達した物理的世界に対する直感を持っています-おそらくここでいくつかの転移学習が起こります。それでも、すべてを「5つのインスタンス」にまとめます。
一方、CNNに渡すすべての単一のフレーム/画像は「例」と見なされます。一貫性のある定義を適用すると、両方のシステムが実際にはるかに類似した量のトレーニングデータを利用しています。
また、コンボリューショナルニューラルネットワーク(CNN)はANNよりもコンピュータービジョンで有用であり、実際には画像分類などのタスクで人間のパフォーマンスに近づくことに注意したいと思います。ディープラーニングは(おそらく)万能薬ではありませんが、この領域では見事に機能します。
他の人が指摘したように、人工ニューラルネットワークのデータ効率は、詳細に応じてかなり大きく異なります。実際、1つのラベル付きサンプルのみを使用して、非常に正確に路面電車のラベル付けのタスクを解決できる、いわゆるワンショット学習方法が多数あります。
これを行う1つの方法は、いわゆる転移学習です。他のラベルでトレーニングされたネットワークは、通常、新しいラベルに非常に効果的に適応できます。これは、ハードワークが賢明な方法で画像の低レベルのコンポーネントを分解するためです。
しかし、このようなタスクを実行するために、このようなラベル付きデータは必要ありません。赤ちゃんのように、あなたが考えているニューラルネットワークと同じくらい多くのラベル付きデータを必要としません。
たとえば、他のコンテキストでもうまく適用されているこのような監視なしの方法の1つは、ラベルのない画像セットを取得し、それらをランダムに回転させ、ネットワークをトレーニングして画像のどちら側が「上」にあるかを予測することです。可視オブジェクトが何であるか、またはそれらが何と呼ばれているのかを知らずに、これはネットワークに画像に関する膨大な量の構造を学習させます。これは、データ効率の高い後続のラベル付き学習の優れた基盤となります。
バックプロパゲーションの明らかな類似体が存在しないなど、おそらく意味のある方法で人工ネットワークが実際のものとはまったく異なることは事実ですが、実際のニューラルネットワークは同じトリックを使用して、いくつかの単純な事前条件によって暗示されるデータの構造。
動物でほぼ確実に役割を果たし、ビデオを理解する上で大きな見込みを示したもう1つの例は、未来は過去から予測可能であるべきであるという仮定にあります。その仮定から始めるだけで、ニューラルネットワークをたくさん教えることができます。または、哲学的なレベルでは、この仮定は、私たちが「知識」とみなすもののほぼすべての根底にあると信じています。
ここで新しいことを言っているわけではありません。しかし、これらの可能性はまだ若すぎて多くのアプリケーションを見つけられず、「ANNができること」の教科書の理解にまだ浸透していないという意味で比較的新しいものです。OPの質問に答えるために; ANNは、あなたが説明するギャップのほとんどをすでに埋めています。
ディープニューラルネットワークをトレーニングする1つの方法は、それをオートエンコーダーのスタックとして扱うことです(制限付きボルツマンマシン)。
理論的には、自動エンコーダは教師なしで学習します。任意のラベルなし入力データを取得し、処理して出力データを生成します。次に、その出力データを受け取り、その入力データを再生成しようとします。データのラウンドトリップに近づくまで、ノードのパラメーターを調整します。考えてみると、自動エンコーダーは独自の自動化された単体テストを作成しています。実際には、「ラベルなしの入力データ」をラベル付きデータに変換しています。元のデータは、ラウンドトリップされたデータのラベルとして機能します。
自動エンコーダーのレイヤーがトレーニングされた後、ニューラルネットワークはラベル付きデータを使用して微調整され、目的の機能を実行します。実際には、これらは機能テストです。
元のポスターは、人工ニューラルネットワークをトレーニングするのに多くのデータが必要な理由を尋ね、それを2歳の人間が必要とする低レベルのトレーニングデータと比較します。元のポスターでは、リンゴとオレンジを比較しています。人工ニューラルネットの全体的なトレーニングプロセスと、2歳児のラベルを使用した微調整です。
しかし、実際には、2歳の子供は、2年以上にわたって、ランダムな自己ラベル付きデータでオートエンコーダをトレーニングしてきました。赤ちゃんは子宮にいるとき夢を見ます。(子猫もそうです。)研究者たちは、これらの夢を視覚処理センターでのランダムなニューロン発火に関係していると説明しています。
子供がオブジェクトをそのように見る方法を学ぶには、かなり長い時間と多くの例が必要です。その後、子供はほんの数例から特定の種類のオブジェクトを識別することを学ぶことができます。2歳の子供を、文字通り白紙の状態から始まる学習システムと比較する場合、それはリンゴとオレンジの比較です。その年齢の子供は何千時間もの「ビデオ映像」を見てきました。
同様に、人工ニューラルネットワークは「見る方法」を学ぶために多くの例を必要としますが、その後、その知識を新しい例に移すことができます。転移学習は機械学習の全領域であり、「ワンショット学習」のようなことが可能です-単一の例では見たことのない新しいタイプのオブジェクトを識別することを学習するANNを構築できます。顔の1枚の写真から特定の人物。しかし、この最初の「見ることを学ぶ」部分をうまく行うには、非常に多くのデータが必要です。
さらに、すべてのトレーニングデータが同じというわけではない、つまり、学習中に「選択」するデータは、単純に提供されるデータよりも効果的であるという証拠があります。例えば、Held&Heinの双子の子猫の実験。https://www.lri.fr/~mbl/ENS/FONDIHM/2013/papers/about-HeldHein63.pdf
私がこれまでの回答で見たことのないことの1つは、人間の子供に見られる現実世界のオブジェクトの1つの「インスタンス」が、NNトレーニングのコンテキストのインスタンスに対応していないという事実です。
5歳の子供がいる鉄道の交差点に立っており、10分以内に5つの列車が通過するのを見てみましょう。これで、「私の子供は5列車しか見なかったので、NNが何千枚もの画像を必要としている間、他の列車を確実に識別できます!」と言うことができます。これはおそらく真実ですが、あなたの子供が見るすべての列車が列車の単一の画像よりも多くの情報を含むという事実を完全に無視しています。実際、あなたの子供の脳は、わずかに異なる角度、異なる影などから、列車が通過する間に毎秒数十の列車の画像を処理していますが、単一の画像は非常に限られた情報をNNに提供します。これに関連して、子供には、NNが利用できない情報(電車の速度や電車の音など)さえあります。
さらに、あなたの子供は話し、質問をすることができます!「電車はとても長いですよね?」「はい」、「彼らも非常に大きいですよね?」"はい。"。2つの簡単な質問で、お子様は2つの非常に重要な機能を1分以内に学習します!
もう1つの重要なポイントは、オブジェクトの検出です。あなたの子供は、どのオブジェクト、つまり画像のどの部分に焦点を合わせる必要があるかをすぐに識別できます。一方、NNは分類を試みる前に、関連するオブジェクトの検出を学習する必要があります。
パフォーマンスはあなたが期待するほど大きな違いはないと主張しますが、すばらしい質問をします(最後の段落を参照)。
転移学習について述べたように、リンゴとリンゴを比較するには、人間/ニューラルネットが「見る」写真の合計数と対象クラスの写真の数を調べる必要があります。
1.人間は何枚の写真を見ますか?
人間の目の動きには約200ミリ秒かかり、これは一種の「生物学的写真」と見なすことができます。:コンピュータビジョンの専門家フェイ・フェイ・リによって話を参照してくださいhttps://www.ted.com/talks/fei_fei_li_how_we_re_teaching_computers_to_understand_pictures#t-362785を。
彼女は付け加えます:
だから、3歳までに子供は何億もの写真を見たでしょう。
オブジェクト検出の主要データベースであるImageNetには、ラベル付きの画像が約1,400万個あります。そのため、ImageNetでトレーニングされているニューラルネットワークは、14000000/5/60/60/24 * 2〜64日の赤ちゃんと同じくらい多くの写真を見ることができます。公平を期すために、この写真の何枚がラベル付けされているかを伝えるのは難しい。さらに、赤ちゃんが見る写真は、ImageNetのようにそれほど多様ではありません。(おそらく、赤ちゃんは彼女の母親がその時間を過ごしているのを見るでしょう...;)。しかし、私はあなたの息子が何億もの写真を見たことがあると言うのは公正だと思います(そして転移学習を適用します)。
それでは、関連する写真の堅実な基盤が与えられ、そこから学習(転送)できる新しいカテゴリを学習するには、何枚の写真が必要ですか?
:私が最初に見つかったブログ記事がこのだったhttps://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html。クラスごとに1000の例を使用します。2.5年後には、必要な方法がさらに少なくなると想像できます。ただし、1000/5/60に3.3分間で1000枚の写真を見ることができます。
あなたが書いた:
2歳の人間の子供は、色、メーカーなどに関係なく、妥当な精度で識別できるように、約5個の車のインスタンスを必要とします。
これは、インスタンスごとに40秒に相当します(そのオブジェクトのさまざまな角度で比較可能)。
要約すると 、先ほど述べたように、いくつかの仮定をしなければなりませんでした。しかし、私は思うかもしれませんが、パフォーマンスは予想されるほど違いはありません。
しかし、私はあなたが素晴らしい質問をすると信じています、そして、ここに理由があります:
2.ニューラルネットワークが脳のように機能する場合、ニューラルネットワークのパフォーマンスは向上しますか?(Geoffrey Hintonはそう言います)。
2018年後半のインタビューhttps://www.wired.com/story/googles-ai-guru-computers-think-more-like-brains/では、彼はニューラルネットワークの現在の実装を脳と比較しています。彼は、重みの観点から、人工ニューラルネットワークは脳よりも1万倍小さいと述べています。したがって、脳は学習するためのトレーニングの反復回数を減らす必要があります。人工ニューラルネットワークを可能にして、私たちの脳のように機能させるために、彼はハードウェアの別のトレンド、Graphcoreと呼ばれる英国ベースのスタートアップに従います。ニューラルネットワークの重みをスマートに保存することにより、計算時間を短縮します。したがって、より多くの重みを使用でき、人工ニューラルネットワークのトレーニング時間が短縮される可能性があります。
私はこれの専門家です。私は人間であり、赤ちゃんであり、車を持ち、AIをしています。
赤ちゃんがはるかに限られた例で車を拾う理由は直感です。人間の脳にはすでに3D回転を処理する構造があります。また、実際に役立つ深度マッピングの視差を提供する2つの目があります。写真には実際の奥行きがないため、車と車の写真を直観できます。ヒントン(AI研究者)は、より直感的に物事を処理できるCapsule Networksのアイデアを提案しました。残念ながら、コンピューターの場合、トレーニングデータは(通常)2D画像、フラットピクセルの配列です。過剰適合しないようにするには、画像内の車の向きを一般化するために、多くのデータが必要です。赤ちゃんの脳はすでにこれを行うことができ、あらゆる方向の車を認識することができます。