ニューラルネットワークでできることとできないこと:初心者向けの5分間のガイド

ウォーレンマッカロックとウォルターピッツによる最初の人工ニューロンの記述から50年以上が経過しました。 それ以来、多くの変化があり、今日ではあらゆる場所でニューラルネットワークアルゴリズムが使用されています。 ニューラルネットワークには非常に多くの能力がありますが、研究者はそれらを扱う際に、再訓練から「ブラックボックス」の問題に至るまで、多くの困難に直面しています。



「壊滅的な忘却」および「スケールの規則化」という用語でまだ何もわからない場合は、読み進めてください。すべてを順番に把握してみましょう。



/写真6月 / CC-SA



ニューラルネットワークが大好きな理由



ニューラルネットワークが他の機械学習手法より優れている主な利点は、データのより深い、時には予期しないパターンを認識できることです。 学習プロセスでは、ニューロンは一般化の原則に従って受信した情報に応答することができ、それによってニューロンに割り当てられたタスクを解決します。



ネットワークが現在実用化されている分野には、医学(例えば、騒音から機器の測定値をクリーニングする、治療の有効性を分析する)、インターネット(連想情報検索)、経済学(為替レートの予測、自動取引)、ゲーム(例えば、行く)と他の人。 ニューラルネットワークは汎用性が高いため、ほとんどすべての用途に使用できます。 ただし、それらは魔法の薬ではなく、適切に機能を開始するには、多くの予備作業が必要です。



ニューラルネットワークトレーニング101



ニューラルネットワークの重要な要素の1つは、学習する能力です。 ニューラルネットワークは、着信情報に基づいて内部構造を変更できる適応システムです。 通常、この効果は重みの値を調整することで達成されます



ニューラルネットワークの隣接する層のニューロン間の接続は、2つのニューロン間の信号の重要性を表す数値です。 トレーニングされたニューラルネットワークが入力情報に正しく応答する場合、重みを調整する必要はありません。そうでない場合、何らかのトレーニングアルゴリズムを使用して、重みを変更して結果を改善する必要があります。



原則として、これは誤差の逆伝播法を使用して行われます 。各トレーニング例では、誤差が小さくなるように重みが調整されます。 適切に選択されたアーキテクチャと十分なトレーニングデータのセットにより、ネットワークは遅かれ早かれ学習すると考えられています。


タスクに関連して、学習に対するいくつかの根本的に異なるアプローチがあります。 最初は先生教えることです。 この場合、入力データは、オブジェクトとその特性のペアです。 このアプローチは、たとえば画像認識で使用されます。トレーニングは、マークされた写真のベースと、その上に描かれたラベルを手動で配置して実行されます。



これらのデータベースの中で最も有名なものはImageNetです。 この問題の定式化により、トレーニングは、たとえば、 Neurodata Lab行われている感情の認識とあまり変わりません。 ネットワークは例を示し、仮定を行い、その正確さに応じて重みが調整されます。 このプロセスは、精度が目的の値に上がるまで繰り返されます。



2番目のオプションは、教師なしのトレーニングです。 典型的なタスクは、クラスタリングと、異常検索の問題に関するいくつかのステートメントです。 この状況では、トレーニングデータの真のマークは利用できませんが、パターンを検索する必要があります。 教師との指導のタスクでネットワークを事前トレーニングするために、同様のアプローチが使用される場合があります。 スケールの初期近似はランダムな解決策ではなく、すでにデータ内のパターンを見つけることができるという考え方です。



さて、3番目のオプションである強化トレーニングは、観察に基づいた戦略です。 迷路を走るマウスを想像してください。 彼女が左に曲がった場合、彼女はチーズを手に入れ、右の場合は感電します。 時間の経過とともに、マウスは左にのみ回転することを学習します。 ニューラルネットワークはまったく同じように機能し、最終結果が「痛みを伴う」場合に重みを調整します。 強化されたトレーニングは、ロボット工学で積極的に使用されています。「ロボットは壁にぶつかったのですか、それとも無傷でしたか?」 最も有名なAlphaGoを含む、ゲームに関連するすべてのタスクは強化学習に基づいています。



再トレーニング:問題とその解決方法



ニューラルネットワークの主な問題は再トレーニングです。 それは、ネットワークがデータのパターンをキャッチするのではなく、回答を「記憶」するという事実にあります。 科学は、再調整と戦ういくつかの方法の出現に貢献しました。たとえば、正規化、バッチの正規化、データの蓄積などです。 時々、再訓練されたモデルは、重みの大きな絶対値によって特徴付けられます。



この現象のメカニズムはほぼ次のとおりです。初期データは多くの場合非常に多次元であり(トレーニングセットの1つのポイントは多数の数値セットで表されます)、ランダムに取得されたポイントが外れ値と区別できない確率は、ディメンションが大きいほど大きくなります。 重みを調整して既存のモデルに新しいポイントを「フィッティング」する代わりに、ニューラルネットワーク自体に例外があるようです。このポイントをあるルールに従って分類し、他のルールに従って他のポイントを分類します。 そして、通常、そのようなポイントがたくさんあります。


この種の再トレーニングに対処する明白な方法は、 重み正規化することです。 それは、重みの値に対する人為的な制限、またはトレーニング段階でのエラーの範囲への罰金の追加のいずれかで構成されます。 このアプローチは問題を完全に解決するわけではありませんが、より頻繁に結果を改善します。



2番目の方法は、重みの値ではなく、出力信号の制限に基づいています- バッチの正規化について説明しています。 トレーニング段階では、データがバッチでニューラルネットワークに供給されます。 それらの出力値は何でもかまいませんし、それらの絶対値が大きいほど、重みの値は高くなります。 それらのそれぞれから1つの値を減算し、結果をバッチ全体で同じように別の値に分割すると、定性的関係は保持されます(たとえば、最大値は最大値のままです)が、出力は次のレイヤーで処理するのに便利です。



3番目のアプローチは常に機能するとは限りません。 すでに述べたように、再訓練されたニューラルネットワークは、多くのポイントを異常として認識します。これは個別に処理する必要があります。 アイデアは、トレーニングサンプル増やして、ポイントが元のサンプルと同じ性質のものであるが、人為的に生成されるようにすることです。 ただし、ここでは、サンプルを増やすためのパラメーターの選択、トレーニング時間の重大な増加など、付随する多くの問題がすぐに発生します。









トレーニングデータセットから異常値を削除する効果( ソース



別の問題は、トレーニングセット内の実際の異常の検索です。 個別のタスクと見なされることもあります。 上の画像は、セットから異常な値を除外する効果を示しています。 ニューラルネットワークの場合、状況は同様です。 確かに、そのような値の検索と除外は簡単な作業ではありません。 これには特別なテクニックが使用されます-リンク( ここここ )で詳細を読むことができます。



1つのネットワーク-1つのタスクまたは「壊滅的な忘却の問題」



動的に変化する環境(金融など)での作業は、ニューラルネットワークでは困難です。 ネットワークを正常にトレーニングできたとしても、将来そのネットワークが機能しなくなるという保証はありません。 金融市場は絶えず変化しているため、昨日機能していたものは、今日も同じように「成功」​​します。



ここで、研究者はさまざまなネットワークアーキテクチャをテストし、それらの中から最適なものを選択するか、ダイナミックニューラルネットワークを使用する必要があります。 後者は環境の変化を「監視」し、それに応じてアーキテクチャを調整します。 この場合に使用されるアルゴリズムの1つは、MSO( マルチスウォーム最適化 )メソッドです。



さらに、ニューラルネットワークには壊滅的な忘却と呼ばれる特定の機能があります。 要するに、ニューラルネットワークはいくつかのタスクで順番にトレーニングできないという事実に帰着します。新しいトレーニングセットごとに、ニューロンのすべての重みが書き換えられ、過去の経験は「忘れられて」しまいます。


もちろん、科学者はこの問題の解決に取り組んでいます。 DeepMindの開発者は最近壊滅的な忘却と戦う方法を提案しました 。これは、特定のタスクAを実行する際のニューラルネットワークの最も重要な重みが、タスクBの学習プロセスの変化に対して人為的に抵抗力が増すという事実にあります



新しいアプローチは、弾性バネとの類似性から、弾性重量の統合と呼ばれます。 技術的には、次のように実装されます。ニューラルネットワークの各パラメーターにはパラメーターFが割り当てられ、特定のタスクのフレームワーク内でのみその重要性が決定されます。 特定のニューロンのFが高いほど、新しいタスクを学習するときに重みを変更するのが難しくなります。 これにより、ネットワークは主要なスキルを「記憶」できます。 この技術は、個々のタスクで「高度に専門化された」ネットワークになりましたが、すべての段階の合計で最高の側面を示しました。



強化ブラックボックス



ニューラルネットワークでの作業におけるもう1つの困難は、ANNが実際にはブラックボックスであることです。 厳密に言えば、結果とは別に、ニューラルネットワークから何も得られず 、統計も得られません 。 ネットワークが決定を下す方法を理解することは困難です。 これが当てはまらない唯一の例は、認識問題における畳み込みニューラルネットワークです。 この場合、いくつかの中間層には特徴マップの意味があります(1つの接続は、元の画像で単純なパターンに遭遇したかどうかを示します)。したがって、さまざまなニューロンの励起を追跡できます。



もちろん、このニュアンスにより、エラーが重大な場合にアプリケーションでニューラルネットワークを使用することは非常に困難になります。 たとえば、ファンドマネージャーは、ニューラルネットワークがどのように決定を下すかを理解できません。 これは、取引戦略のリスクを正しく評価することが不可能であるという事実につながります。 同様に、信用リスクをモデル化するためにニューラルネットワークに頼る銀行は、なぜこのまさにクライアントがそのような信用格付けを持っているのかを言うことはできません。



したがって、ニューラルネットワークの開発者は、この制限を回避する方法を探しています。 たとえば、アーキテクチャの透明性を高めるために、いわゆるルール抽出アルゴリズムの作業が進行中です。 これらのアルゴリズムは、ニューラルネットワークから、数式とシンボリックロジックの形式、または決定木の形式で情報を抽出します。



ニューラルネットワークは単なるツールです



もちろん、人工ニューラルネットワークは、新しい技術の習得と既存の技術の開発を積極的に支援しています。 今日の人気のピークは、無人車両のプログラミングであり、ニューラルネットワークがリアルタイムで環境を分析します。 IBM Watsonは、毎年、 医薬品を含む、これまでにない新しいアプリケーション分野を発見しています。 Googleには、人工知能を直接扱う部門があります。



ただし、神経系の問題がある場合があります。問題を解決する最善の方法ではありません。 たとえば、ネットワーク 、高解像度の画像作成、人間の音声生成、ビデオストリームの詳細な分析などの分野で遅れをとっています。 シンボルと再帰構造の操作も、ニューラルシステムにとっては簡単ではありません。 これは質問応答システムにも当てはまります。



当初、ニューラルネットワークのアイデアは、脳機能のメカニズムをコピーして再現することでした。 しかし、人類は依然として、論理的推論のための新しいアルゴリズムを開発するために、ニューラルネットワークの速度の問題を解決する必要があります。 既存のアルゴリズムは、脳機能よりも少なくとも10倍劣っていますが、これは多くの状況では不十分です。



同時に、科学者は、ニューラルネットワークをどの方向に開発すべきかをまだ完全には決定していません。 業界は、ニューラルネットワークを可能な限り人間の脳のモデルに近づけ、技術と概念スキームを生成し、すべての「人間性の側面」から抽象化しようとしています。 今日、それは「オープンワーク」(ウンベルトエコという用語を使用)のようなもので、ほとんどすべての経験が受け入れられ、空想も受け入れられます。



ニューラルネットワーク自体は人間の介入なしに問題やタスクを解決できる「銀の弾丸」ではないため、ニューラルネットワークに関与する科学者や開発者の活動には、深い準備、広範な知識、および非標準技術の使用が必要です。 これは、優れた手で驚くべきことを実行できる包括的なツールです。 そして彼はまだすべてを先に持っています。



All Articles