ニューラル ネットワークは機械学習におけるモデルの一種です。ニューラル ネットワークは、機械学習の分野に革命をもたらした特定のアルゴリズムのセットです。これらは生物学的ニューラル ネットワークにヒントを得たもので、ディープ ニューラル ネットワークは非常にうまく機能することが証明されています。ニューラル ネットワーク自体は一般的な関数近似器であるため、入力空間から出力空間への複雑なマッピングを伴うほぼすべての機械学習の問題に適用できます。 ニューラル コンピューティングについて学ぶべき 3 つの理由は次のとおりです。
Andrew Ng の Coursera 機械学習コースを修了した後、ニューラル ネットワークとディープラーニングに興味を持つようになり、このテーマについて学ぶのに最適なオンライン リソースを探して、Geoffrey Hinton の機械学習向けニューラル ネットワーク コースを見つけました。ディープラーニングエンジニアリングを行っている場合、またはディープラーニング/機械学習の分野に参入したい場合は、このコースを受講する必要があります。ジェフリー・ヒントンは間違いなくディープラーニングのゴッドファーザーであり、このコースでは並外れた洞察力を提供します。この記事では、機械学習の研究者が仕事の効率化のために知っておくべきと思われる 8 つのニューラル ネットワーク アーキテクチャを紹介します。
1. 一般的に、これらのアーキテクチャは次の 3 つのカテゴリに分類できます。 1. フィードフォワードニューラルネットワーク これは実際に使用される最も一般的なタイプのニューラル ネットワークです。最初の層は入力で、最後の層は出力です。複数の隠し層がある場合、それを「ディープ」ニューラル ネットワークと呼びます。サンプルの類似性を変更する一連の変換を計算します。各層のニューロンの活動は、前の層の活動の非線形関数です。 2. 再帰ネットワーク 再帰型ネットワークの接続グラフには有向ループがあり、矢印をたどって開始点に戻ることができます。複雑なダイナミクスを持つ場合があり、そのため訓練が困難になることがあります。それらは生物学的にもっと本物です。 リカレントネットワークを効率的にトレーニングする方法が現在広く注目されています。リカレント ニューラル ネットワークは、連続データをモデル化する非常に自然な方法です。これらは、各タイムスライスで同じ重みと入力を使用することを除いて、タイムスライスごとに 1 つの隠し層を持つディープ ネットワークと同等です。彼らは隠れた状態の情報を長期間記憶することができますが、この潜在能力を活用できるように訓練することは困難です。 3. 対称接続ネットワーク 対称的に接続されたネットワークは再帰型ネットワークに少し似ていますが、ユニット間の接続は対称的です (両方向で同じ重みを持ちます)。対称的に接続されたネットワークは、再帰型ネットワークよりも分析が容易です。このネットワークはエネルギー関数の法則に従うため、より多くの制限があります。隠れユニットのない対称的に接続されたネットワークは、「ホップフィールド ネットワーク」と呼ばれます。隠れユニットを持つ対称的に接続されたネットワークは、ボルツマン マシンと呼ばれます。 2. 研究者が知っておくべき8つのニューラルネットワークアーキテクチャ 1. パーセプトロン 第一世代のニューラル ネットワークが登場したとき、パーセプトロンは単一のニューロンの計算モデルにすぎず、1960 年代初頭にアメリカのコンピューター科学者フランク ローゼンブラットによって普及されました。その学習アルゴリズムは非常に強力で、多くのことを学習できると主張しています。 1969 年にミンスキー氏とパパート氏は「パーセプトロン」という本を出版し、これらのアルゴリズムが何ができるかを分析し、その限界を説明しました。多くの人がこの制限をすべての NN モデルに拡張しています。ただし、パーセプトロン学習手順は、数百万の特徴を含む大規模な特徴ベクトルを使用するタスクでは依然として広く使用されています。 統計的パターン認識の標準的なパラダイムでは、まず生の入力ベクトルを特徴活性化ベクトルに変換します。その後、合意に基づいて手動プログラミングによって機能が定義されました。次に、各機能のアクティベーションに重みを付けて単一のスカラーを取得する方法を学習します。このスカラーが特定のしきい値を超える場合、入力ベクトルはターゲット セット内の正のサンプルであるとみなされます。 標準的なパーセプトロン アーキテクチャは、入力がニューロンに送信され、処理されてから出力されるフィードフォワード モデルに従います。下の図では、ネットワークを下から上へ読み取る形で表されています。つまり、入力が下、出力が上です。 ただし、パーセプトロンには制限があります。手作りの機能を十分に使用すれば、ほとんど何でもできます。バイナリ入力ベクトルの場合、指数関数的に多数のバイナリベクトルごとに 1 つの特徴ユニットを持つことができるため、バイナリ入力ベクトルに対して可能なあらゆる区別を行うことができます。ただし、手動でプログラムされた特徴が決定されると、パーセプトロンが学習できる内容は非常に制限されます。 パターン認識は変化する状況下でパターンを認識することであるため、この結果はパーセプトロンにとって壊滅的です。ミンスキーとパパートの「グループ不変性定理」は、変換がグループから行われる場合、パーセプトロンの学習部分は学習できないと述べています。上記の状況を識別するには、それらのパターンに含まれるサブ情報を識別するためのより多くの特徴ユニットが必要です。したがって、パターン認識の難しい部分は、学習プロセスではなく、手動でコーディングされた特徴検出器によって解決する必要があります。 隠れユニットのないネットワークでは、モデル化するために学習できる入力と出力のマッピングが非常に制限されます。単に線形単位を追加するだけでは、結果は依然として線形であるため役に立ちません。固定出力の非線形性だけでは不十分なので、複数層の適応型非線形隠れユニットが必要です。問題は、そのようなネットワークをどのようにトレーニングするかということです。最後のレイヤーだけでなく、すべての重みに適応する効率的な方法が必要なので、これは困難です。隠れ層に入る重みを学習することは特徴を学習することと同じですが、隠れ層が何をすべきかを直接教えてくれる人がいないため、非常に困難です。 2. 畳み込みニューラルネットワーク 機械学習の研究は、物体検出の問題に広く焦点を当ててきました。物体の識別を困難にする要因はさまざまあります。
特徴コピー法は現在、ニューラル ネットワークがターゲット検出問題を解決するために使用する主な方法です。異なる場所で同じ特徴抽出器を使用します。サイズや向きを複製することもできますが、非常に熟練が必要で、費用もかかります。レプリケーションにより、学習するフリーパラメータの数が大幅に削減されます。それぞれ独自の複製された検出器画像を持つ、いくつかの異なる特徴タイプを使用します。また、各画像パッチをさまざまな方法で表現することもできます。 では、レプリケーション機能検出器はどのように実装されるのでしょうか?
1998 年、Yann LeCun 氏とその協力者は手書き数字認識装置 LeNet を開発しました。これは、単なる認識装置以上のフィードフォワード ネットワークでバックプロパゲーションを使用し、多くの隠し層、各層での多くのレプリカ ユニットへのマッピング、近くのレプリカ ユニットの出力のプール、重複している場合でも複数の文字を一度に処理できる広いネット、および完全なシステムをトレーニングする巧妙な方法を備えています。後に正式に畳み込みニューラルネットワークと命名されました。興味深い事実: このネットワークは、北米のすべての小切手の約 10% を読み取るために使用されています。 畳み込みニューラル ネットワークは、手書きの数字から 3D オブジェクトまで、あらゆるものに使用できます。しかし、インターネットからダウンロードしたカラー写真から実際の物体を認識することは、手書きの数字を認識するよりもはるかに複雑です。手書きの数字よりも 100 倍多くのカテゴリ (1000:10) があり、手書きの数字よりも数百倍多くのピクセル (256×256 カラー: 28×28 グレースケール) があり、3 次元シーンの 2 次元画像であり、雑然としたシーンのセグメント化が必要であり、各画像に複数のオブジェクトがあります。この場合、同じタイプの畳み込みニューラル ネットワークが機能するでしょうか? その後、ImageNet 2012 ILSVRC コンテスト (このコンテストはコンピューター ビジョンの年間オリンピック コンテストとして知られています) では、約 120 万枚の高解像度トレーニング画像を含むデータセットがトピックになりました。テスト画像には初期の注釈 (セグメンテーションやラベルなし) が表示されず、アルゴリズムは画像内に存在するオブジェクトを指定するラベルを生成するように求められます。オックスフォード、INRIA、XRCE などの先進的なコンピューター ビジョン グループが、このデータセットに利用可能な最良のコンピューター ビジョン手法を適用しました。コンピューター ビジョン システムは通常、複雑なマルチレベル システムであり、初期段階で手動でパラメータを調整して最適化する必要があることがよくあります。
コンテスト優勝者の Alex Krizhevsky 氏 (NIPS 2012) は、Yann LeCun 氏が先駆者となったタイプの深層畳み込みニューラル ネットワークを開発しました。そのアーキテクチャは 7 つの隠し層 (プーリング層を除く) で構成されています。最初の 5 つの層は畳み込み層であり、最後の 2 つの層は完全接続層です。活性化関数は、各隠れ層で線形単位に補正されます。これらはロジスティックユニットよりも速くトレーニングでき、表現力も豊かです。それに加えて、近くのユニットの活動が強く、強度の変化に寄与している場合には、競合正規化を使用して隠れた活動を抑制します。 ニューラル ネットワークの一般化能力を大幅に向上できるテクニックがいくつかあります。
ハードウェア要件に関しては、Alex は 2 つの NVIDIA GTX 580 GPU (1000 個を超える高速な小型コア付き) 上で非常に効率的な畳み込みネットワーク実装を使用しました。 GPU は行列乗算に非常に優れており、非常に高いメモリ帯域幅を備えています。これにより、1 週間でネットワークをトレーニングし、テスト時に 10 個の画像パッチの結果をすばやく組み合わせることができました。状態を十分に速く交換できれば、ネットワークを多数のコアに分散させることができます。コアが安価になり、データセットが大きくなるにつれて、大規模なニューラル ネットワークは旧式のコンピューター ビジョン システムよりも速く進歩するでしょう。 3. リカレントニューラルネットワーク リカレントニューラルネットワークを理解するには、シーケンスモデリングの概要を簡単に理解する必要があります。機械学習をシーケンスに適用する場合、多くの場合、入力シーケンスを別のドメインの出力シーケンスに変換する必要があります。たとえば、音圧のシーケンスを単語のシーケンスに変換します。別個のターゲット シーケンスがない場合、入力シーケンス内の次の項目を予測することでネットワークを学習できます。ターゲット出力シーケンスは、入力シーケンスの次のステップです。これは、画像内の他のピクセルに基づいてピクセルを予測したり、画像の残りの部分に基づいて一部を予測したりするよりも自然に思えます。シーケンス内の次の項目を予測すると、教師あり学習と教師なし学習の区別が曖昧になります。教師あり学習用に設計された方法を使用しますが、個別のターゲットデータは必要ありません。 メモリレスモデルはこのタスクの標準的なアプローチです。具体的には、自己回帰モデルは「遅延タップ」を使用して、固定数の前の項から次の項を予測することができ、フィードフォワード ニューラル ネットワークは、1 つ以上の非線形隠しユニット層を使用する一般化された自己回帰モデルです。ただし、生成モデルにいくつかの隠し状態を与え、この隠し状態を内部的に動的にすると、隠し状態に情報を長期間保存できる、より興味深いモデルが得られます。隠れ状態から出力を生成する隠れ状態のダイナミクスにノイズが多い場合、その隠れ状態を正確に知ることはできません。私たちにできるのは、隠れた状態ベクトルの空間上の確率分布を推測することだけです。この推論は 2 つの隠れ状態モデルにのみ適用できます。 リカレント ニューラル ネットワークは、1) 分散された隠れ状態により、過去に関する大量の情報を効率的に保存できること、2) 非線形ダイナミクスにより、隠れ状態を複雑な方法で更新できることという 2 つの特性を組み合わせているため、非常に強力です。十分なニューロンと十分な時間があれば、RNN はコンピューターが計算できるものはすべて計算できます。では、RNN はどのような動作を示すのでしょうか? RNN は振動したり、ポイント アトラクターに落ち着いたりして、無秩序に動作することができます。また、隠し状態のさまざまなサブセットを使用して、多数の異なる小さなプログラムを実行することもできます。各サブセットは知識の一部をキャプチャし、すべてを並行して実行して、より複雑な方法で相互作用することができます。 しかし、RNN の計算能力により、トレーニングが困難になります。 RNN のトレーニングは、勾配爆発問題と勾配消失問題のために非常に困難です。バックプロパゲーションを複数層実行すると、勾配の大きさはどうなるでしょうか? 重みが小さい場合、勾配は指数関数的に縮小します。重みが大きい場合、勾配は指数関数的に増加します。典型的なフィードフォワード ニューラル ネットワークは、隠れ層がわずかしかないため、これらの指数関数的な効果に対処できます。ただし、長いシーケンスで RNN をトレーニングすると、勾配が簡単に爆発したり消失したりする可能性があります。初期の重みが適切に選択されたとしても、現在のターゲット出力が多くの時間ステップ前の入力に依存していることを検出することは困難であるため、RNN はシーケンス内の長距離依存関係を処理することが困難です。 RNN を学習するには、基本的に 4 つの効果的な方法があります。
4. 長短期記憶ネットワーク Hochreiter と Schmidhuber (1997) は、長い短期記憶ネットワークを構築することによって、RNN の長期記憶 (数百の時間ステップなど) を取得する問題を解決しました。彼らは、乗算的な相互作用を持つ論理ユニットと線形ユニットを使用してメモリセルを設計しました。 「書き込み」ゲートが開いているときはいつでも、情報がセルに入ります。 「HOLD」ゲートが開いている場合、情報はユニット内に保持されます。 「読み取り」ゲートを開くと、セルから情報を読み取ることができます。 手書きの筆記体の認識は、RNN に特に適したタスクです。入力はペン先の (x, y, p) 座標のシーケンスです。ここで、p はペンが上を向いているか下を向いているかを示します。出力は文字のシーケンスです。 Graves と Schmidhuber (2009) は、LSTM を使用した RNN が現在、筆記体の手書き認識に最適なシステムであることを示しました。つまり、入力としてペン座標の代わりに一連の小さな画像を使用します。 5. ホップフィールドネットワーク 再帰型ネットワーク内の非線形ユニットは、分析が難しい場合がよくあります。それらは、安定した状態に落ち着く、振動する、または予測できない混沌とした軌道をたどるなど、さまざまな方法で動作します。ホップフィールド ネットワークは、バイナリ ゲート ユニットとそれらの間のシリアル接続で構成されます。 1982 年、ジョン・ホップフィールドは、接続が対称であれば、グローバルなエネルギー関数が存在することを認識しました。ネットワーク全体のすべてのバイナリ「構造」にはエネルギーがあり、バイナリしきい値の決定ルールにより、ネットワークはエネルギー関数の最小値を取得できます。このタイプの計算を活用するための優れた方法は、メモリをニューラル ネットワークのエネルギー最小値として使用することです。エネルギーの最小値を使用してメモリを表現すると、メモリをアドレス指定できるようになります。内容の一部のみを知っていてもプロジェクトにアクセスすることは可能です。これにより、ハードウェアに大きな損傷が発生する可能性があります。 構成を記憶するたびに、新しいエネルギー最小値を作成します。しかし、中央付近に 2 つの最小値がある場合はどうなるでしょうか? これにより、ホップフィールド ネットワークの容量が制限されます。では、ホップフィールド ネットワークの容量を増やすにはどうすればよいのでしょうか。物理学者は、すでに知っている数学の一部を使って脳の働きを説明できると考えています。ホップフィールド ネットワークとそのストレージ容量に関する論文が物理学のジャーナルに多数掲載されています。結局のところ、エリザベス・ガードナーは、すべての重量を使用するというより良い保管ルールがあると考えています。ベクトルを一度保存する代わりに、トレーニング セットを何度もループし、パーセプトロン収束プロセスを使用して、そのベクトル内の他のすべてのユニットの状態を考慮して各ユニットが正しい状態になるようにトレーニングします。統計学者はこの手法を「疑似尤度」と呼んでいます。 ホップフィールド ネットワークには別の計算機能があります。私たちはもはやネットワークを記憶を保存するために使用するのではなく、感覚入力からの情報を構造化するために使用します。可視ユニットは入力を表し、隠しノードの状態は入力ノードの情報を表すために使用され、エネルギーは不良情報を表すために使用されます (低エネルギー状態は良好な解釈を表します)。 6. ボルツマンマシンネットワーク ボルツマンマシンは確率的リカレントニューラルネットワークの一種です。これは、ホップフィールド ネットワークのランダムに生成された対応物として考えることができます。これは、困難な組み合わせの問題を表現し、解決できる内部表現を学習できる最初のニューラル ネットワークの 1 つでした。 ボルツマン マシン学習アルゴリズムの学習目標は、ボルツマン マシンがトレーニング セット内のバイナリ ベクトルに割り当てる確率の積を最大化することです。これは、ボルツマンがトレーニング ベクトルに割り当てる対数確率の合計を最大化することと同じです。つまり、次の操作を実行すると、N 個のトレーニング ケースを取得する確率が最大化されます。1) 外部入力なしでネットワークをさまざまな時間に安定させる。2) 可視ベクトルを一度に 1 回サンプリングする。 2012 年、Salakhutdinov と Hinton は、ボルツマン マシンのための効率的なミニバッチ学習手順を提案しました。
通常のボルツマンマシンでは、ユニットのランダム更新は継続的である必要があります。より効率的な交互並列更新を可能にする特別なアーキテクチャがあります (レイヤー内の接続なし、レイヤーをスキップした接続なし)。このミニバッチ手順により、ボルツマン マシンの更新がより並列化されます。これはディープ ボルツマン マシン (DBM) と呼ばれ、多くの接続が欠落している通常のボルツマン マシンです。 2014 年、サラクディノフとヒントンは、制限付きボルツマン マシン (RBM) と呼ばれるモデルのアップグレード版を提案しました。接続性を制限することで(隠れユニットの層は 1 つだけ、隠れユニット間の接続はなし)、推論と学習が容易になります。 RBM では、可視ユニットがクランプされると、熱平衡に達するのに 1 ステップしかかかりません。 もう一つの効果的なミニバッチ RBM 学習手順は次のとおりです。
7. ディープビリーフネットワーク バックプロパゲーションは、データのバッチ処理後に各ニューロンのエラー寄与を計算する人工ニューラル ネットワークの標準的な方法と考えられています。ただし、バックプロパゲーションを使用する場合、いくつか重要な問題があります。まず、ラベル付きのトレーニング データが必要です。ほとんどすべてのデータはラベルなしです。 2 番目に、学習時間は理想的とは言えず、多くの隠れ層を持つネットワークは遅くなります。 3 番目に、局所的最小値に陥る可能性があるため、深層ネットワークには最適とは言えません。 バックプロパゲーションの限界を克服するために、研究者は教師なし学習法の使用を検討してきました。これにより、重みを調整するために勾配法を使用する効率性とシンプルさが維持され、感覚入力の構造をモデル化することも可能になります。特に、生成モデルが感覚入力を生成する確率を最大化するように重みを調整します。問題は、どのような生成モデルを学ぶべきかということです。ボルツマン マシンのようなエネルギー モデルでしょうか。それとも、理想化されたニューロンで構成される因果モデルでしょうか。あるいは、その 2 つの混合でしょうか。 信念ネットワークは、ランダム変数で構成される有向非巡回グラフです。信念ネットワークを使用すると、いくつかの変数を観察できます。私たちは2つの問題を解決したいと考えています:
初期のグラフィカル モデルのグラフィカル構造と条件付き確率は専門家によって定義されました。当時、これらのグラフはまばらにしかつながっていなかったため、研究者たちは当初、学習よりも正しい推論を行うことに重点を置いていました。ニューラル ネットワークでは学習が鍵であり、手書きの知識はトレーニング データからの学習によって得られるため、クールではありません。ニューラル ネットワークは、解釈可能であったり、疎な接続を通じて推論を容易にしたりするようには設計されていません。ただし、信念ネットワークのニューラル ネットワーク バージョンも存在します。 ランダム バイナリ ニューロンで構成される生成ニューラル ネットワークには 2 つのタイプがあります。
これら 2 つのタイプの説明はこの記事の範囲を超えています。 8. ディープオートエンコーダ 最後に、ディープオートエンコーダについて説明します。ディープ オートエンコーダは、次の理由から、非線形次元削減に非常に適した方法です。 2 つの柔軟なマッピング方法を提供します。学習時間はトレーニング例の数に比例して(またはそれ以上に)なり、最終的にエンコードされたモデルは非常にコンパクトで高速になります。ただし、バックプロパゲーションを使用してディープオートエンコーダを最適化することは困難です。初期重みが小さい場合、逆伝播された勾配は消滅します。現在では、教師なしの層ごとの事前トレーニングを使用するか、エコー状態ネットワークのように重みを慎重に初期化するなど、最適化するためのより良い方法があります。 事前トレーニング タスクの場合、実際には 3 つの異なるタイプの浅いオートエンコーダーがあります。
つまり、特徴のレイヤーごとの事前トレーニングを実行するにはさまざまな方法があります。ラベル付けされた例が大量にないデータセットの場合、事前トレーニングはその後の識別学習に役立ちます。非常に大規模なラベル付きデータセットの場合、ディープネットワークであっても、教師あり学習で使用される重みを初期化するために教師なし事前トレーニングを使用する必要はありません。事前トレーニングはディープ ネットワークの重みを初期化する最初の適切な方法でしたが、現在では他の方法もあります。ただし、ネットワークを非常に大きくすると、事前トレーニングに再び頼る必要があります。 追記 ニューラル ネットワークは、これまでに作成された最も美しいプログラミング パラダイムの 1 つです。従来のプログラミング手法では、大きな問題を、コンピューターが簡単に実行できる、正確に定義された多数の小さなタスクに分割して、コンピューターに実行すべきことを指示します。対照的に、ニューラル ネットワークでは、問題を解決する方法をコンピューターに指示する必要はなく、むしろデータを観察して学習させ、目の前の問題に対する解決策を見つけ出させます。 今日、ディープニューラルネットワークとディープラーニングは、コンピュータービジョン、音声認識、自然言語処理などの多くの重要な問題において優れた成果を達成しています。これらは、Google、Microsoft、Facebook などの企業によって大規模に導入されています。 |
<<: 2018 年の 12 件の主要な AI および機械学習の買収
>>: 北京市海淀区に世界初のAIパークがオープン、自宅のすぐそばで自動運転車を体験できる
[51CTO.comよりオリジナル記事] 8月15日、マイクロソフト(アジア)インターネットエンジニ...
1 ChatGPT は誰の目にも単なるチャットボット ツールに見えます。質問に答え、テキスト情報を生...
MySQL には、有名なネスト ループ結合という結合アルゴリズムが 1 つだけあります。他の多くのデ...
人工知能 (AI) は、コンピューター サイエンス、数学、心理学、言語学などの分野が関わる学際的な分...
チャットボットの無限ループや同じ質問の繰り返しにイライラしていませんか? これは顧客にとってよくある...
9月20日、Googleの人工知能チームDeepMindは、AlphaMissenseと呼ばれる新し...
序文前回の記事では列挙型の最適化について説明しました。今回は時刻形式である DateTime の最適...
2020年は忘れられない年です。今年に入って、新型コロナウイルスの感染拡大に伴い、人工知能(AI)が...
システム設計者は、高度なセンサー技術の急激な拡大と、それを安全または生命/安全の環境にどのように適用...
最近、恐れることなく赤信号を無視していた人々が交通警察署に電話し、交通警察のおじさんに自分の写真を削...
生成AIとは何ですか?生成 AI は、データを分析し、パターンと傾向を識別し、都市計画と管理に関する...