ディープラーニングの背後にある数学的アイデアを分析する

ディープラーニングの背後にある数学的アイデアを分析する

ディープ ニューラル ネットワーク (DNN) は、基本的に複数の接続されたパーセプトロン (パーセプトロンは単一のニューロン) によって形成されます。人工ニューラル ネットワーク (ANN) は、重み付けされたパスに沿って入力される一連の入力で構成されるシステムと考えることができます。これらの入力は処理され、何らかのタスクを実行するための出力が生成されます。時間が経つにつれて、ANN は「学習」し、さまざまなパスを開発します。さまざまなパスには異なる重みが付けられる可能性があり、あまり望ましくない結果を生成し、より重要であると判断されたパス(またはより望ましい結果を生成するパス)には、あまり望ましくない結果を生成するパスよりもモデル内で高い重みが割り当てられます。

DNN では、すべての入力がすべての出力に密に接続されている場合、そのレイヤーは密なレイヤーと呼ばれます。さらに、DNN には複数の隠し層を含めることができます。隠し層は基本的に、ニューラル ネットワークの入力と出力の間のポイントであり、活性化関数が情報入力を変換します。システムの入力と出力から直接観察できないため、隠れ層と呼ばれます。ニューラル ネットワークが深くなるほど、ネットワークがデータから認識できる内容が増え、出力できる情報も増えます。

ただし、データからできるだけ多くのことを学習することが目標である一方で、ディープラーニング モデルは過剰適合の影響を受ける可能性があります。これは、モデルがトレーニング データ (ランダム ノイズを含む) から学習しすぎた場合に発生します。モデルはデータ内の非常に複雑なパターンを識別できますが、新しいデータのパフォーマンスに悪影響を与える可能性があります。トレーニング データで拾われたノイズは新しいデータや見たことのないデータには適用されず、モデルは発見されたパターンを一般化できません。非線形モデルもディープラーニング モデルでは非常に重要であり、モデルは複数の隠し層を持つことで多くのことを学習しますが、非線形の問題に線形形式を適用するとパフォーマンスが低下します。

ここでの疑問は、「これらのレイヤーはどのようにして学習するのか?」です。ここで、ANN を実際のシナリオに適用して問題を解決し、モデルをトレーニングして目標を達成する方法を理解できます。ケース分析は次のとおりです。

現在のパンデミックの中、多くの学校がオンライン学習に移行しており、一部の学生はコースに合格できる可能性について不安を抱いている。 「このコースに合格できるだろうか?」という質問は、どの AI システムでも解決できるはずです。

簡単にするために、モデルには学生が出席した講義の数、課題に費やした時間、講義中にインターネット接続が失われた回数の 3 つの入力しかないと考えてみましょう。このモデルの出力はバイナリ分類になります。学生はコースに合格するか不合格になるかのどちらかであり、実際には 0 と 1 です。学期末現在、学生 A は 21 の授業に出席し、課題に 90 時間を費やし、学期を通してインターネット接続が 7 回切断されました。これらの入力はモデルに入力され、出力では学生がコースに合格する確率が 5% であると予測されます。 1 週間後、最終成績が発表され、学生 A はコースに合格しました。それで、モデルの予測では何が間違っていたのでしょうか?

技術的には問題ありません。モデルは現在開発されているとおりに機能していたはずです。問題は、モデルが何が起こっているのか全く分かっていないことです。パス上のいくつかの重みを初期化しますが、モデルは現在、正しいものと間違っているものを認識していません。したがって、重みは正しくありません。これが学習の主な源泉であり、モデルは間違いを犯したときにパターンを学習する必要があるという考えに基づいています。これは、何らかの形の「損失」を計算することによって行われます。計算される損失は問題によって異なりますが、一般的には予測出力と実際の出力の差を最小限に抑えることが含まれます。

上記の状況では、生徒は 1 人だけであり、エラー ポイントは 1 つだけなので、最小限に抑えることができます。しかし、通常はそうではありません。ここで、複数の学生と複数の差異を最小化することを検討すると、総損失は通常、すべての予測と実際の観測値の差異の平均として計算されます。

計算される損失は、問題によって異なることに注意してください。したがって、ここでの問題はバイナリ分類 (0 と 1 の分類) であるため、適切な損失計算はクロスエントロピー損失になります。この関数の背後にある考え方は、学生がコースに合格するかどうかの予測分布と実際の分布を比較し、これらの分布の差を最小限に抑えようとすることです。

代わりに、私たちは学生がコースに合格するかどうかを予測するのではなく、コースでどのような成績を取得するかを予測したいと考えています。したがって、クロスエントロピー損失は適切な方法ではなくなります。代わりに、平均二乗誤差損失の方が適切でしょう。この方法は回帰問題に適しています。実際の値と予測値の差の二乗を最小化しようとするのが目的です。

これで、いくつかの損失関数を理解したので (損失関数の紹介はこちら: ディープラーニングの基礎: 数学的分析の基礎と Tensorflow2.0 回帰モデル PDF ブックは記事の最後からダウンロードできます)、損失の最適化とモデルのトレーニングを実行できます。優れた DNN を実現するための重要な要素は、適切な重み付けを行うことです。損失の最適化では、計算された損失を最小化する重み W のセットを見つけようとします。重量コンポーネントが 1 つしかない場合は、重量と損失を 2D プロットにプロットし、損失を最小限に抑える重量を選択できます。しかし、ほとんどの DNN には複数の重みコンポーネントがあり、n 次元グラフを視覚化することは非常に困難です。

代わりに、損失関数の導関数がすべての重みに関して計算され、最大増加の方向が決定されます。これで、モデルは上下の方向を理解し、局所最小値の収束点に到達するまで下方向に移動します。この適切な操作が完了すると、最適な重みのセットが返されます。これは、DNN が使用する必要がある重みです (モデルが適切に開発されていると仮定)。

この導関数を計算するプロセスはバックプロパゲーションと呼ばれ、本質的には微積分の連鎖律です。上記のニューラル ネットワークを考えてみましょう。最初の重みセットの小さな変更が最終的な損失にどのように影響するでしょうか。これが、導関数または勾配が説明しようとしていることです。ただし、最初の重みセットは隠れ層に供給され、隠れ層には別の重みセットが供給され、予測出力と損失が生成されます。したがって、重みの変更が隠れ層に与える影響も考慮する必要があります。現時点では、ネットワークを構成するのはこれら 2 つの部分だけです。ただし、考慮すべき重みがさらにある場合は、出力から入力への連鎖律を適用してこのプロセスを続行できます。

DNN をトレーニングする際に考慮すべきもう 1 つの重要な要素は、学習率 (数学では収束係数と考えることができます) です。モデルが最適な重みのセットを見つけるまで進むと、何らかの係数で重みを更新する必要があります。これは些細なことのように思えるかもしれませんが、モデルの動きを決定する要因を特定することは非常に重要です。係数が小さすぎると、モデルは指数関数的に長い時間実行されるか、グローバル最小値ではないどこかで停止する可能性があります。係数が大きすぎると、モデルはターゲット ポイントを完全に見逃し、発散する可能性があります。

固定比率が理想的かもしれませんが、適応学習比率を使用すると、前述の問題が発生する可能性が減ります。つまり、係数は、現在の勾配、現在の重みのサイズ、または最適な重みを見つけるためのモデルの次のステップに影響を与える可能性のあるその他の要因に基づいて変化します。

[[342318]]

ご覧のとおり、DNN は微積分といくつかの統計に基づいて構築されています。これらの非常に技術的なプロセスの背後にある数学的なアイデアを評価することは、モデル内で実際に何が起こっているかを理解するのに役立ち、全体的に優れたモデルの開発につながる可能性があるため、有用です。

<<:  AIのダークサイド: AIを信頼できるものにする方法

>>:  IoTロボットが製造業と医療現場の危険を防止

ブログ    
ブログ    
ブログ    

推薦する

低迷期を経て復活を遂げ、人工知能の波が押し寄せている!

[51CTO.comより引用] 近年、コンピュータ技術は急速に発展しており、人工知能はその操作性と...

Alibaba iDSTのビジュアルコンピューティング責任者、Hua Xiansheng氏:アルゴリズムの利点は消えつつある

「テクノロジー研究と現実世界の問題を組み合わせ、現実の問題を解決して価値を生み出すことにますます興味...

ニューヨーク・タイムズは、自社のニュース記事をAIモデルの訓練に利用することを禁止し、OpenAIを訴えることを検討している。

NPRによると、OpenAIは、自社の人工知能(AI)モデルのトレーニングにニューヨーク・タイムズ...

5分でPythonのランダムヒルクライミングアルゴリズムをマスターする

ランダム化ヒルクライミングは最適化アルゴリズムです。検索プロセスの一部としてランダム性を使用します。...

...

Pythonで完全な異常検出アルゴリズムをゼロから実装する

確率を用いた異常検出アルゴリズム異常検出は、外れ値分析の統計タスクとして扱うことができます。 しかし...

...

AIと合成生物学の融合における5つの大きな課題:テクノロジー、データ、アルゴリズム、評価、社会学

過去 20 年間で生物学は大きな変化を遂げ、生物システムを設計することが可能になりました。私たちの細...

人工知能は学習を通じて人類を自然災害から救うことができます。

通常、人間が機械を作るのは、達成するのが難しいタスクを人間が完了するのを助けるためだけです。自然災害...

...

エッジAIがIoTと自動化の分野にもたらす変化

エッジ AI は IoT および自動化分野のゲームのルールを急速に変え、業界の運営方法に革命をもたら...

...

...

武器化されたAIとIoT攻撃は最大の技術的脅威となる

1. 「企業が人工知能やモノのインターネットなどの新しいテクノロジーの導入を検討するにつれ、攻撃対象...

ボストン ダイナミクスが CES で楽しいひとときを過ごし、ロボット犬の Spot がメタバースに登場します。

CES 2022 で、ボストン ダイナミクスは Spot ロボット犬をメタバースに導入しました。こ...