ニューラルネットワーク技術の進化について

ニューラルネットワーク技術の進化について

ニューラル ネットワークとディープラーニング技術は、今日の高度なインテリジェント アプリケーションのほとんどの基礎となっています。この記事では、アリババの検索部門の上級アルゴリズム専門家であるフェイ・サン博士が、ニューラルネットワークの開発について簡単に紹介し、この分野の最新の手法について説明します。

この記事は主に以下の 5 つの側面に焦点を当てています。

  1. ニューラルネットワークの進化
  2. センサーモデル
  3. フィードフォワードニューラルネットワーク
  4. バックプロパゲーション
  5. ディープラーニングの基礎

1. ニューラルネットワークの進化

ニューラル ネットワークの歴史的発展を詳しく説明する前に、まずニューラル ネットワークの概念を紹介します。ニューラル ネットワークは、主に人間の脳のニューラル ネットワークを情報処理の観点から抽象化し、重み付けされた接続層を介して接続された多数のコンピューティング ニューロンを使用する単純なモデルを確立します。ニューロンの各層は、大規模な並列計算と層間の情報の受け渡しが可能です。

以下のタイムラインはニューラル ネットワークの進化を示しています。

ニューラル ネットワークの起源はコンピュータ自体の開発にまで遡ることができ、最初のニューラル ネットワークは 1940 年代に登場しました。ニューラル ネットワークの基礎をより深く理解できるように、少し歴史を振り返ってみましょう。

ニューラル ネットワーク ニューロンの第一世代は検証の役割を果たしました。これらのニューロンの設計者は、計算用のニューラル ネットワークを構築できることを確認したかっただけです。これらのネットワークはトレーニングや学習には使用できません。単に論理ゲート回路として機能します。入力と出力はバイナリであり、重みは事前に定義されています。

ニューラル ネットワーク開発の第 2 段階は 1950 年代と 1960 年代に発生しました。これは、ロスブラットのセンサー モデルに関する先駆的な研究とハーバートの学習原理に関連しています。

2. センサーモデル

上で説明したセンサー モデルとニューロン モデルは似ていますが、いくつかの重要な違いがあります。センサー モデルのアクティベーション アルゴリズムは、割り込みアルゴリズムまたはシグモイド アルゴリズムのいずれかであり、その入力は、ニューロン モデルで使用されるバイナリ ベクトルではなく、実数ベクトルになります。ニューロン モデルとは異なり、センサー モデルには学習機能があります。

次に、センサー モデルのいくつかの特殊な機能について説明します。

入力値(x1...、xn)をN次元空間の座標と見なし、wTx-w0 = 0をN次元空間の超平面と見なすことができます。明らかに、wTx-w0 < 0 の場合、点は超平面の下にあり、wTx-w0 > 0 の場合、点は超平面上にあります。

センサー モデルは分類器の超平面に対応し、N 次元空間内の異なるタイプのポイントを分離できます。下の図を見ると、センサー モデルが線形分類器であることがわかります。

センサー モデルは、AND、OR、NOT などの基本的な論理演算を便利に分類します。

すべての論理操作をセンサー モデル別に分類できるでしょうか? 答えはもちろん「いいえ」です。たとえば、排他的論理和演算は、単一の線形センサー モデルでは分類するのが難しく、これがニューラル ネットワークが最初のピークの直後に開発の低迷期に入る主な理由の 1 つです。ミンスキーを含む数人の著者がセンサーモデルの問題について議論してきました。しかし、この問題に関して彼らが何を意味しているかを誤解している人は多くいます。

実際、ミンスキーなどの著者は、多層センサーモデルを通じて XOR 演算を実装できることを指摘していましたが、当時の学界では多層センサーモデルを研究するための効果的な方法がなかったため、ニューラルネットワークの開発は最初の谷に陥りました。

次の図は、マルチレイヤー センサー モデルが XOR 演算を実装する方法を直感的に示しています。

3. フィードフォワードニューラルネットワーク

1980 年代には、センサー モデル ニューラル ネットワークの表現力が線形分類タスクに限定されていたため、ニューラル ネットワークの開発は多層センサーの段階に入り始めました。古典的な多層ニューラル ネットワークは、フィードフォワード ニューラル ネットワークです。

下の図からわかるように、入力層、未定義数のノードを持つ隠し層、および出力層が含まれます。

多層センサー モデルを使用して任意の論理操作を表すことができますが、これにより 3 つのレイヤー間の重み付け学習の問題が発生します。 xk が入力層から隠れ層の重み付き vkj に転送され、その後、シグモイドなどの活性化アルゴリズムを介して、隠れ層から対応する値 hj を取得できます。同様に、同様の操作を使用して、hj 値を使用して出力層から yi ノード値を導出できます。学習するには、最終的に推定値 y と実際の値 d を取得できるように、w 行列と v 行列の重み付けされた情報が必要です。

機械学習の基礎を理解していれば、モデルを学習するために勾配降下法を使用する理由がわかります。下の図に示すように、勾配降下法をセンサー モデルに適用する原理は非常に単純です。まず、モデルの損失を決定します。

この例では、平方根損失を使用して、シミュレートされた値 y と実際の値 d の間のギャップを埋めようとします。計算の便宜上、ほとんどの場合、根関係 E = 1/2(dy)^2 = 1/2(df(x))^2 を使用します。

勾配降下法の原理によれば、重み更新サイクルは wj←wi +α(d?f(x))f′(x) となります。ここで、α は手動で調整できる学習速度です。

4. バックプロパゲーション

多層フィードフォワードニューラルネットワークでは、すべてのパラメータはどのように学習されるのでしょうか? 最上位層のパラメータは簡単に取得できます。計算モデルによって出力された推定値と測定値の差を比較することで、勾配降下原理を使用してパラメータ結果を得ることができます。問題は、隠れ層からパラメータを取得しようとするときに発生します。モデルの出力を計算できたとしても、期待値がわからないため、多層ニューラル ネットワークを効果的にトレーニングすることはできません。この問題は長い間研究者を悩ませ、1960 年代以降ニューラル ネットワークの開発が停滞する原因となっていました。

その後、1970 年代に、何人かの科学者が独自にバックプロパゲーション アルゴリズムのアイデアを思いつきました。このタイプのアルゴリズムの背後にある基本的な考え方は、実は非常に単純です。当時は、期待値に基づいて隠れ層を更新する方法はありませんでしたが、隠れ層から渡された誤差を通じて、隠れ層と他の層の間の重みを更新することができました。勾配を計算する場合、隠し層のすべてのノードは出力層の複数のノードに関連しているため、前の層のすべての層が集約され、一緒に処理されます。

バックプロパゲーションのもう 1 つの利点は、関連性がないため、同じレイヤー上のノードの勾配と重みを同時に実行できることです。次のように疑似コードを使用してバックプロパゲーションプロセス全体を表すことができます。

次に、バックプロパゲーション ニューラル ネットワークのその他の機能について説明します。バックプロパゲーションは実際には連鎖律です。マッピングを使用したあらゆる計算に簡単に一般化できます。勾配関数に基づいて、バックプロパゲーション ニューラル ネットワークを使用して、グローバル最適解ではなくローカル最適解を生成できます。ただし、一般的な観点から見ると、バックプロパゲーション アルゴリズムによって生成される結果は通常、満足のいく最適化ソリューションです。

次の図は、バックプロパゲーション アルゴリズムを視覚的に表したものです。

ほとんどの場合、バックプロパゲーション ニューラル ネットワークは範囲内で可能な限り最小の値を見つけますが、この範囲から外れると、より良い値が見つかる場合があります。実際のアプリケーションでは、この種の問題を解決するシンプルで効果的な方法が多数あります。たとえば、さまざまなランダム初期化方法を試すことができます。さらに、実際には、現代のディープラーニング分野で頻繁に使用されるモデルでは、初期化方法が最終結果に重要な影響を及ぼします。モデルを最適化範囲外に強制する別の方法は、トレーニング中にランダム ノイズを導入するか、遺伝的アルゴリズムを使用してトレーニング モデルが非理想的な最適化位置で停止しないようにすることです。

バックプロパゲーションニューラルネットワークは機械学習に適したモデルです。機械学習に関しては、機械学習の過程で頻繁に遭遇する基本的な問題、つまり過剰適合問題に注意する必要があります。過剰適合の一般的な症状は、トレーニング中に、モデルの損失が減少し続けているにもかかわらず、テスト セットの損失とエラーが増加することです。過剰適合を回避するための一般的な方法は 2 つあります。

早期停止: 事前に検証グループを分離し、トレーニング中にこの検証済みのグループで実行できます。モデルの損失を観察し、検証グループの損失の減少が止まった一方でトレーニング グループの損失がまだ減少している場合は、過剰適合を防ぐためにトレーニングを早期に停止できます。

正規化: ニューラル ネットワークに規則性を追加できます。現在人気のドロップ方法は、いくつかのノードまたはエッジをランダムに削除することです。このアプローチは正規化の一形態として使用でき、過剰適合を防ぐのに非常に効果的です。

ニューラル ネットワークは 1980 年代に非常に人気がありましたが、残念ながら 1990 年代にその開発は再び低迷しました。この低水準には多くの要因が寄与しています。たとえば、サポート ベクター マシンは 1990 年代に人気のモデルであり、さまざまな主要な会議で取り上げられ、さまざまな分野で使用されていました。サポートベクターマシンは優れた統計学習理論を持ち、直感的に理解しやすいです。それらは非常に効果的であり、理想に近い結果を生み出します。

この変化の過程で、サポートベクターマシンの背後にある統計学習理論の台頭により、ニューラルネットワークの開発に大きな圧力がかかりました。一方、ニューラル ネットワーク自体の観点から見ると、理論的にはバックプロパゲーション ネットワークを使用して任意のニューラル ネットワークをトレーニングできますが、実際には、ニューラル ネットワークのレイヤーの数が増えるにつれて、ニューラル ネットワークのトレーニングの難易度が指数関数的に増加することがわかりました。たとえば、1990 年代初頭には、非常に多くの層を持つニューラル ネットワークでは、勾配損失や勾配爆発が頻繁に発生することが認識されました。

たとえば、勾配損失の簡単な例としては、ニューラル ネットワークの各層がエチル構造層であるため、バックプロパゲーション中の損失がエチル構造勾配にリンクされるというものがあります。一連の要素を連結する場合、いずれかの勾配が非常に小さいと、勾配はどんどん小さくなります。実際、1 つまたは 2 つのレイヤーを伝播すると、この勾配は消えます。勾配損失により深層層のパラメータが変化しなくなり、意味のある結果を得ることが難しくなります。これが、多層ニューラル ネットワークのトレーニングが難しい理由の 1 つです。

学術界はこの問題について徹底的な研究を行い、最も簡単な対処方法はアクティベーションアルゴリズムを変更することだという結論に達しました。シグモイド アルゴリズムは勾配損失につながりやすいインデックス作成方法であるため、最初は正規化活性化アルゴリズムの使用を試みました。一方、シグモイド関数は修正され、max(0, x)が置き換えられます。下の図から、0より上の推定値の勾配は1であり、勾配消失の問題を回避していることがわかります。ただし、推定値が 0 未満の場合、勾配は再び 0 になることがわかるので、ReLU アルゴリズムは不完全であることがわかります。その後、Leaky ReLU や Parametric Rectifier (PReLU) などの改良されたアルゴリズムが登場しました。推定値 x が 0 未満の場合は、実際に 0 にならないように、0.01 や α などの係数に変換できます。

ニューラル ネットワークの発展に伴い、構造レベルでの勾配通過の問題を解決するための多くの方法が提案されました。たとえば、メタモデル、LSTM モデル、最新の画像解析では、勾配をより簡単に伝播するために、多くのレイヤー間リンク手法が使用されます。

次に、深層学習、具体的には畳み込みニューラル ネットワーク (CNN) と再帰型ニューラル ネットワーク (RNN) について詳しく説明します。

5. ディープラーニングの基礎知識

1990 年代の 2 度目の開発低迷期から 2006 年にかけて、ニューラル ネットワークは再び世間の注目を集め、今回はかつてないほど強力になりました。ニューラル ネットワークの台頭中に起こった大きな出来事の 1 つは、ヒントン氏がサラフンディノフ氏を含む多くの場所に提出した、多層ニューラル ネットワーク (現在では「ディープ ラーニング」と呼ばれています) に関する 2 つの論文でした。

論文の 1 つは、ニューラル ネットワークの初期値を設定する問題を取り上げています。簡単に言えば、解決策は、入力値を x とし、出力値をデコードされた x と見なし、このようにしてより適切な初期化ポイントを見つけることです。別の論文では、ディープニューラルネットワークを迅速にトレーニングする方法が提案されました。実際、コンピューティング リソースの大幅な増加やデータの可用性など、ニューラル ネットワークの人気に寄与する要因は数多くあります。 1980 年代には、データとコンピューティング リソースの不足により、大規模なニューラル ネットワークをトレーニングすることは困難でした。

ニューラル ネットワークの初期の台頭は、ヒントン、ベンジオ、ルカンという 3 人の偉大な人物によって推進されました。 Hinton 氏の主な業績は、制限付きボルツマン マシンとディープ オートエンコーダです。 Bengio 氏の主な貢献は、ディープラーニングにメタモデルを使用する一連のブレークスルーです。これは、ディープラーニングが大きな進歩を遂げた最初の分野でもありました。

2013 年までに、メタモデルベースの言語モデリングは、当時最も効果的な方法であった確率モデルを上回ることができました。 LeCun 氏の主な業績は CNN に関連した研究です。ディープラーニングは、NIPS、ICML、CVPR、ACL などの多くの主要な会議で広く発表されており、大きな注目を集めています。これには、ディープラーニング分野の研究センターである Google Brain、Deep Mind、Facebook AI の出現が含まれます。

ディープラーニングが注目を集めた後、最初のブレークスルーは音声認識の分野でした。ディープラーニングを使い始める前は、モデルは事前に定義された統計データベースでトレーニングされていました。 2010 年に、Microsoft は音声認識にディープラーニング ニューラル ネットワークを使用しました。下の図からわかるように、両方のエラー指標が 2/3 減少しており、これは大幅な改善です。マイクロソフトは最新の ResNet テクノロジに基づいてこの指標を 6.9% まで削減し、毎年改善していきます。

画像分類の分野では、CNN モデルは 2012 年に ImageNet という形で大きな進歩を遂げました。 ImageNet では、大量のデータを使用して画像分類をテストし、1000 種類に分類します。ディープラーニングの適用前、画像分類システムの最高のエラー率は 25.8% (2011 年) でしたが、2012 年に Hinton 氏と彼の学生が CNN を使用して行った研究のおかげで、エラー率はわずか 10% になりました。

図からわかるように、2012 年以降、この指標は毎年大きな進歩を遂げており、すべて CNN モデルを使用して達成されています。

これらの驚異的な成果は、独立した学習と階層的な抽象構造を通じてデータを表現する能力を可能にする現代のシステムの多層構造に大きく起因しています。抽象的な特性はさまざまなタスクに適用できるため、現在のディープラーニングの人気に大きく貢献しています。

次に、古典的で一般的な 2 つのタイプのディープラーニング ニューラル ネットワークを紹介します。1 つは畳み込みニューラル ネットワーク (CNN)、もう 1 つは再帰型ニューラル ネットワーク (RNN) です。

畳み込みニューラルネットワーク

畳み込みニューラル ネットワークには 2 つの中核となる概念があります。 1 つは畳み込みで、もう 1 つはプーリングです。この時点で、なぜ CNN ではなくフィードフォワード ニューラル ネットワークを使用しないのかと疑問に思う人もいるかもしれません。 1000 x 1000 の画像を例にとると、ニューラル ネットワークの隠し層には 100 万個のノードが存在します。フィードフォワードニューラルネットワークには 10^12 個のパラメータがあります。この時点では、大量の推定値が必要となるため、システムが学習することはほぼ不可能です。

しかし、多くの画像がこの特性を持っています。 CNN を使用して画像を分類する場合、畳み込みの概念により、隠れ層の各ノードは画像の 1 つの位置の特徴を接続してスキャンするだけで済みます。隠れ層の各ノードが 10*10 の推定値に接続されている場合、最終的なパラメータの数は 1 億になり、複数の隠れ層によってアクセスされるローカル パラメータを共有できる場合は、パラメータの数を大幅に削減できます。

下の図から、フィードフォワード ニューラル ネットワークと CNN の違いは非常に大きいことがわかります。画像のモデルは、左から右に、完全接続、通常、フィードフォワード、完全接続フィードフォワード、CNN モデリング ニューラル ネットワークです。 CNN ニューラル ネットワークの隠し層ノードの接続重みパラメータを共有できることがわかります。

プーリングは別の操作です。畳み込みの原理に基づいて、CNN は中間に隠れ層、つまりプーリング層を形成します。最も一般的に使用されるプーリング方法は、隠し層のノードが最大の出力値を選択する Max Pooling です。複数のカーネルがプールされているため、中間に複数の隠し層ノードが存在します。

メリットは何でしょうか? まず、プーリングによってパラメータの数がさらに減り、次に、ある程度の翻訳不変性が実現します。図に示すように、画像に示されている 9 つのノードのうち 1 つを変換しても、プーリングで生成されたノードは変更されません。

CNN のこの 2 つの特性により、CNN は画像処理の分野で非常に人気があり、画像処理の分野の標準となっています。以下の車の視覚化は、CNN が画像分類の分野でどのように使用されるかを示す優れた例です。車の元の画像を CNN モデルに取り込んだ後、エッジやポイントなどのいくつかの単純で大まかな特徴を畳み込み層と ReLU 活性化層に渡すことができます。最上位の出力層の出力画像に近いほど、車の輪郭に近づいていることが直感的にわかります。このプロセスでは、最終的に隠しレイヤーの表現が取得され、分類レイヤーに接続されます。分類レイヤーは、画像に表示される車、トラック、飛行機、船、馬などの画像の分類を受け取ります。

下の画像は、LeCun 氏と他の手書き認識分野の研究者が使用した初期のニューラル ネットワークを示しています。このネットワークは 1990 年代に米国郵便システムで使用されていました。興味のある読者は、LeCun の Web サイトにログオンして、手書き認識の動的なプロセスを閲覧できます。

CNN は画像認識の分野で非常に人気がありますが、過去 2 年間はテキスト認識でも重要な役割を果たしてきました。たとえば、CNN はテキスト分類の現在の最適ソリューションの基礎となっています。テキストのカテゴリを決定する際に実際に必要なのは、テキスト内のキーワードの兆候を探すことです。これは CNN モデルに適したタスクです。

CNN は、調査、自動運転車、セグメンテーション、ニューラル システムなど、実世界で幅広く応用されています。 Neurotype は魅力的なアプリケーションです。たとえば、App Store には Prisma という人気のアプリがあり、これを使用すると、ユーザーは画像をアップロードして別のスタイルに変換できます。例えば、ゴッホの星空風に変形させることもできます。このプロセスは CNN に大きく依存しています。

再帰型ニューラルネットワーク

リカレント ニューラル ネットワークの基本原理については、下の図から、このようなネットワークの出力は出力 x だけでなく、以前の入力 x に応じて更新される隠れ層の状態にも依存することがわかります。拡大画像では全体のプロセスが示されています。最初の入力の隠れ層はS(t-1)であり、次の入力X(t)に影響を与えます。リカレント ニューラル ネットワーク モデルの主な利点は、テキスト、言語、音声などの順次データ操作で使用できることです。この場合、現在のデータの状態は前のデータの状態によって影響を受けます。フィードフォワードニューラルネットワークを使用してこのタイプのデータを処理することは非常に困難です。

リカレントニューラルネットワークといえば、先ほど触れた LSTM モデルを忘れてはいけません。 LSTM は実際には完全なニューラル ネットワークではありません。簡単に言えば、RNN ノードの複雑な処理の結果です。 LSTM には、入力ゲート、忘却ゲート、出力ゲートの 3 つのゲートがあります。

これらの各ゲートは、セル内のデータを処理し、セル内のデータを入力するか、忘れるか、出力するかを決定するために使用されます。

最後に、広く受け入れられつつあるニューラル ネットワークの学際的な応用についてお話ししましょう。このアプリケーションでは、画像を画像のテキスト説明または画像を説明するキャプションに変換します。まず、CNN モデルを使用して特定の実装プロセスを記述し、画像の関連情報を抽出してベクトル表現を生成します。後で、このベクトルを既にトレーニング済みの再帰型ニューラル ネットワークへの入力として渡し、画像の説明を生成することができます。

要約する

この記事では、ニューラル ネットワークの開発について説明し、ニューラル ネットワークのいくつかの基本的な概念と方法を紹介しました。上記の記事は、毎年開催される Alibaba Cloud Computing Conference での Sun Fei 博士の講演に基づいています。彼は現在、レコメンデーション システムとテキスト生成手法に取り組んでいます。

<<:  人工知能は諜報機関の「大物」になると期待されている

>>:  回帰問題に最適な機械学習アルゴリズムを選択する

ブログ    
ブログ    
ブログ    

推薦する

...

7Sモデルを活用してAI変革を成功させる

多くの組織と連携する顧客関係管理 (CRM) コンサルタントとして、AI を主要な検討テーマとして見...

...

CPUのみを使用して自律航行船を開発、実際に実現

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ビッグデータ採用、アルゴリズムによって選ばれた

[[76655]]大学に通ったことのない26歳のジェド・ドミンゲスさんは、ギルデッドのアルゴリズムに...

Python+OpenCVを使用して顔追跡を実装するための50行のコード

こんにちは、親愛なる友人の皆さん、またお会いできて嬉しいです。私はただ興味本位でこのToutiaoア...

人工知能技術がハリウッドスターを「若返らせる」

現代の若者は、ベテランスターたちの若い頃の見事な姿を見る機会がもうないが、それは問題ではない。人工知...

負荷分散アルゴリズムの完全なリスト

負荷分散の開発基盤は負荷分散アルゴリズムです。次に、サーバーごとに持つ機能や必要な機能が異なるため、...

科学者はロボットに人間に近い触覚を与える人工指先を開発

ロボットは車を持ち上げたり、手術を手伝ったりするようにプログラムできますが、卵など、これまで扱ったこ...

...

日本のCGマスターがまた登場!リアルタイムの顔キャプチャのための 3D モデリング ソフトウェア

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

メタバース: 新たな人間コミュニティか、それとも徹底的な監視による「金儲けの道具」か?

バーチャルリアリティヘッドセットは何年も前から市場に出回っており、多くのティーンエイジャーもこれらの...

考えてみると恐ろしいですね!人工知能は、成功率70%で人間の行動を操作することを学習したと疑われている。

人工知能に関しては、多くの人が懸念を表明しています。例えば、人類開発の最前線にいるホーキング博士とマ...

2020年にAIアルゴリズム市場は普及するでしょうか?

2019年も残り1か月余りとなり、各種年間総括も迫ってまいりました。今年の AI の発展を振り返る...

...