この研究を説明する記事では、著者は資料のプレゼンテーションにややセンセーショナルなアプローチを取り、「深刻な問題がニューラルネットワークで見つかった」と「セキュリティ関連の問題についてニューラルネットワークを信頼できない」という精神でテキストを書きました。 私の知り合いの多くは、友人の間でHabréの投稿へのリンクを共有しました;このトピックに関するいくつかの議論は、Facebookですぐに始まりました。 同時に、最初の研究から得た情報の一部が失われ、元のテキストでは考慮されなかったニューラルネットワークについて多くの疑問が生じたという印象を受けました。 彼らが研究で行ったことをより詳細に説明すると同時に、最初の質問に答えようとする必要があるように思えます。 このような長いテキストのFacebook形式はまったく適合しないため、Habréの投稿に自分の考えを入れようと決めました。
元の記事の内容
「神経回路網の興味深い特性」と題された元の記事は、7人の科学者のグループによって書かれ、そのうち3人はGoogleの神経回路網研究部門で働いています。 この記事では、ニューラルネットワークの2つの非自明な特性について説明します。
- ニューラルネットワークの深いレベルにある特定のニューロンについて、このニューロンがアクティブになるようにソース画像が選択されると、選択された画像はいくつかの共通のセマンティック属性を持つと考えられています。 科学者は、1つのニューロンの活性化ではなく、複数のニューロンの出力の線形結合を考慮する場合、同じステートメントが当てはまることを示しています。
- ニューラルネットワークのトレーニングサンプルの各要素について、誤って分類される非常によく似た視覚的な例を選択できます。これは、研究者によって盲点と呼ばれます。
これら2つのプロパティの意味をさらに詳しく理解してみましょう。
特定のニューロンの値
最初のプロパティはすぐに解決しようとします。
ニューラルネットワークのファンの間で人気のある仮定があります。これは、内部のニューラルネットワークがソースデータを個別の理解可能なプロパティに解析し、ニューラルネットワークの深いレベルで、各ニューロンが元のオブジェクトの特定のプロパティを担当するという事実にあります。
このステートメントは通常、目視検査で確認されます。
- 訓練されたネットワーク内のニューロンが選択されます。
- このニューロンをアクティブにするテストサンプルからの画像が選択されます。
- 選択された画像は人によって表示され、これらの画像はすべて共通の特性を持っていると結論付けられます。
研究者が記事で行ったこと:個々のニューロンを見る代わりに、ニューロンの線形結合を検討し、特定の組み合わせである一般的な意味特性を活性化する画像を検索し始めました。 著者は成功しました-これから、彼らはニューラルネットワークの対象領域のデータは特定のニューロンではなく、一般的なネットワーク構成に保存されていると結論付けました。
一般的に言えば、この記事は科学よりも宗教の分野に関連しているので、この記事のこの部分を真剣に議論したくありません。
特定のニューロンが特定の兆候の原因であるという最初の議論は、ニューラルネットワークがその仕事において人間の脳に似ているべきであるという非常に抽象的な推論から取られています。 際立った特徴は人によって理解されるべきであるという主張が来るとき、私はどこにもまったく見つけることができませんでした。 このステートメントをチェックすることは非常に奇妙な演習です。なぜなら、欲望があった場合にのみ、任意の画像の小さな選択から共通の特徴を見つけるのは簡単だからです。 また、プロセスは自動化できないため、大量の画像に対して統計的に有意なチェックを行うことはできません。 その結果、論理的な結果が得られました。ある画像セットで共通の兆候を見つけることができれば、他の画像でも同じことができます。
元の記事と同じプロパティを持つ画像の例。
記事のこの部分の一般的な結論は本当に論理的に見えます-ニューラルネットワークでは、サブジェクト領域に関する知識は、個々の特定のニューロンではなく、ニューラルネットワークのアーキテクチャ全体とそのニューロンのパラメータに実際に含まれています。
ネットワーク死角
研究者は次の実験を実施しました。彼らは、トレーニングサンプルのオブジェクトにできるだけ近い場所にある、ネットワークによって誤って分類されたオブジェクトを見つけることに着手しました。 それらを検索するために、著者は、オブジェクトの分類が壊れるまで、ニューラルネットワークの応答の劣化の方向に元の画像から離れた特別な最適化アルゴリズムを開発しました。
実験の結果は次のとおりです。
- トレーニングサンプルのどのオブジェクトでも、人が最初の目と目で区別しない画像が常に存在し、ニューラルネットワークはそれを破ります。
- 欠陥が導入された写真は、アーキテクチャの変更がある場合やトレーニングセットの別のサブセットでトレーニングされている場合でも、ニューラルネットワークによって認識されにくくなります。
実際、これらの盲点については主に話がありますので、同時に表示される質問に答えてみましょう。 しかし、まず、研究の説明を読んでいる人々に現れるいくつかの基本的な異議を見てみましょう。
- 「この研究では、非常に単純なニューラルネットワークを使用していますが、現在は誰も使用していません」-いいえ、この研究では、単純な単層から大規模なディープネットワークまで、6種類のネットワークを使用しました。 すべてのタイプのネットワークですべての実験が行われたわけではありませんが、この記事の主な結論はすべて、ネットワークのタイプとは無関係です。
- 「研究者は、入力でラスター画像を受信するニューラルネットワークを使用します。ラスターイメージは強調表示されていません-これは最初は非効率的です」 同時に、それらのニューラルネットワークは大きな画像ベースで良好な品質を示しているため、元のシステムの非効率性を非難することは困難です。
- 「研究者は非常に再訓練されたニューラルネットワークを使用しました-トレーニングセットの外で自然に悪い結果が得られました」 特に、この記事には、ランダムノイズが追加された最初のサンプルで動作するネットワークの結果があり、品質の低下はありません。 再訓練されたシステムでは、そのような結果はありません。
- 「ネットワークに追加される歪みは非常に特殊であり、実際の生活では満たすことができません」-そうではありません。 一方では、これらの歪みは偶発的なものではなく、他方では、人間の目に見えないランダムなノイズよりも平均して1桁少ない非常にわずかな画像の変化です。記事には対応する番号があります。 だから、私はそのような歪みが現実に得られなかったと主張しません-これの可能性は小さいですが、そのような可能性を排除することはできません。
ここで本当のニュースは何ですか?
ニューラルネットワークがトレーニングサンプルのオブジェクトの近くに死角を持っている可能性があるという事実は、本当に大きなニュースではありません。 事実、ニューラルネットワークでは、ローカル精度を約束した人はいませんでした。
分類方法( サポートベクターマシンなど )があり、それらのトレーニングに基づいて、トレーニングサンプルのオブジェクトをクラス変更の境界から最大限に分離します。 ニューラルネットワークでは、この種の要件はありません。さらに、ニューラルネットワークの複雑さにより、通常、初期セットの最終的な分割は通常の解釈や研究には適していません。 したがって、ネットワーク内で局所的に不安定な領域を見つけることができるという事実はニュースではなく、すでによく知られている事実の確認です。
ここで本当のニュースは、異なるネットワークアーキテクチャに切り替えたり、トレーニングサンプルを変更したりしても、エラーにつながる歪みがその特性を保持することです。 これは確かに非常に予想外の発見であり、以下の作品の著者がその説明を見つけることを期待しています。
ニューラルネットワークは本当に行き止まりですか?
いいえ、ニューラルネットワークは行き止まりではありません。 これは非常に強力で強力なツールであり、特定の一連の特定のタスクを解決します。
ニューラルネットワークの人気は、2つのアイデアに基づいています。
- Rosenblatt Perceptron Convergence Theorem-任意のトレーニングセットに対して、1つの内部層を持つニューラルネットワークのアーキテクチャと重みを選択できるため、トレーニングセットは100%の精度で分類されます。
- ニューラルネットワークのトレーニングのほとんどすべてのプロセス(最近、アーキテクチャの選択を含む)は完全に自動化されています。
したがって、ニューラルネットワークは、非常に複雑な認識問題の許容可能なソリューションを迅速に取得する手段です。 誰もニューラルネットワークに他のことを約束したことはありません(多くの試みがありましたが)。 ここでのキーワードは「高速」と「複雑なタスク」です。
- YouTubeで1年間の仕事で猫と犬を一貫して区別する方法を学びたい場合、ニューラルネットワーク以外にも、品質と利便性に匹敵するツールはありません。より単純な分類子の標識を発明して設定するのに時間がかかります。 しかし、同時に、ニューラルネットワークのブラックボックスは、人の観点からは奇妙であり、修正するのが難しいミスをすることを我慢する必要があります。
- また、テキストを認識したり、肯定的なレビューを否定的なレビューと区別したりする場合は、より良い分類器を使用します。最初の結果を得るには時間がかかる場合がありますが、何が起こっているかをより細かく制御できます。
ニューラルネットワークを信頼できますか?
元の研究を議論する記事の主な結論は、「これが起こるまで、安全性が重要なニューラルネットワークに頼ることはできません...」 その後、別の議論で、何らかの理由で(おそらく著者の勤務地と記事内の車の写真のために)Google Carがポップアップしました。
実際、ニューラルネットワークを信頼できます。これにはいくつかの理由があります。
- ニューラルネットワークのユーザー(研究者ではない)にとって、それが正確に間違っているが、どのくらいの頻度であるかが重要です。 私を信じてください、それはあなたにとって絶対に重要ではありません、あなたの自動運転車はその訓練基地にあったトラック、またはそれが前に見たことのないトラックを認識しませんでした。 全体の研究は、トレーニングサンプルの近くの特定の領域でのエラーの検索に当てられていますが、ニューラルネットワークの作業の全体的な品質(およびその評価方法)は、問題にされていません。
- どの認識システムも100%動作することはなく、常にエラーが発生します。 ロボット工学で認識されている最初の原則の1つは、センサーの1つの個別のインジケーターに基づいてアクションを実行できないことです。常に値のフローティングウィンドウを取得し、そこから異常を排除する必要があります。 重要なシステムの場合、これも当てはまります。実際のタスクでは、データのストリームが常に存在します。システムがクラッシュした場合でも、隣接するデータが状況を修正します。
したがって、重要なシステムのニューラルネットワークは、全体として正しいデータを提供する別のタイプのセンサーとして扱う必要がありますが、誤っている場合があり、そのエラーを処理する必要があります。
この記事で重要なことは何ですか?
記事に大きな啓示が見つからなかった場合、なぜそれがまったく書かれていたのでしょうか?
私の意見では、この記事には1つの主な結果があります。これは、トレーニング中にニューラルネットワークの品質を大幅に向上させる思慮深い方法です。 多くの場合、認識システムのトレーニングでは、トレーニングセットの元のオブジェクトに加えて、ノイズが追加された同じオブジェクトがトレーニングに使用される場合に、標準のトリックが使用されます。
この記事の著者は、代わりに、ニューラルネットワークのエラーにつながる歪みのあるオブジェクトを使用して、これらの歪みのエラーを排除し、同時にテストサンプルのネットワーク全体の品質を改善できることを示しました。 これは、ニューラルネットワークを操作するための重要な結果です。
最終的には、「センセーショナルな」見出しの記事を読んでいないことをお勧めしますが、ソースを見つけて読む方が良いです-そこではすべてがもっと面白いです。