天文学
Xでフォロー Blueskyでフォロー Pinterestでフォロー
日本語 Français English Español Português Deutsch
 
最終更新日: 2023年11月7日

人工ニューラルネットワーク:ディープラーニングと誤差逆伝播

人工ニューラルネットワーク
人工ニューラルネットワークは、互いに接続されたニューロンの層が連続して構成されており、各層は前の層の出力を入力として受け取ります。 人工ニューラルネットワークでは、1層あたりのニューロン数は数万に達することがあり、層の数は数百に及ぶこともあります。
画像ソース: astronoo.com

人工ニューラルネットワークとは何ですか?

人工ニューラルネットワークは、相互に接続された層に編成された数学的処理ユニット(人工ニューロン)からなるコンピュータシステムです。人間の脳の働きにインスパイアされ、データから学習し、「シナプスの重み」を調整することで、画像認識や言語処理などのタスクを、すべてのルールを明示的にプログラムすることなく実行します。

人工知能(AI)の目的

人工ニューラルネットワークの仕組みを理解するためには、人工知能(AI)の意味を理解する必要があります。 AIとは、人間の介入なしにタスクを自動化できるコンピュータシステムを作成するだけでなく、学習、適応、改善、コミュニケーション、そして何よりも意思決定を行う能力を持つシステムを作ることです。 この意味で、AIは人間の知能の側面を再現しようとしています。

人間の知能とは何ですか?

脳機能の定義と組織

知能の定義は非常に議論の余地がありますが、ここで興味があるのは、脳によって制御される機能という意味です。実際、歩行のような機械的な機能であれ、意思決定のような認知的な機能であれ、脳のすべての領域における機能のアーキテクチャは同じです。さらに、すべての機能は同等の重要性を持ち、高貴な機能とそうでない機能との区別はありません。すべての機能は、情報を交換するために互いに接続された数十億のニューロンからなる巨大なネットワークを通じて、同じ複雑さの計算によって実行されます。情報は電気的および化学的シグナルを通じて交換されます。

ニューロン間のコミュニケーション

人間の脳において、ニューロン間のコミュニケーションプロセスは以下の通りです:
- ニューロンの細胞膜レベルで開始された電気シグナルが臨界しきい値に達すると、短い電気インパルスである「活動電位」が引き起こされます。活動電位は軸索を通ってシナプスに伝わります。
- シナプス(ニューロン間の接触点)では、活動電位が「神経伝達物質」と呼ばれる化学分子の放出を引き起こします。
- 神経伝達物質は、受容体ニューロン(受信ニューロン)の膜上にある受容体に結合します。この化学的結合により、受容体ニューロンに電気的反応が引き起こされます。
- 受容体ニューロンは、送信ニューロンから受け取るすべての入力を統合し、臨界しきい値に達すると、自身の活動電位を発生させ、その活動電位は自身の軸索を通って伝播し、ネットワーク内の情報伝達を継続します。

神経伝達物質の役割

放出される神経伝達物質のタイプによって、シナプス前活動はシナプス後ニューロンの電気活動に対して興奮性または抑制性の効果を及ぼす可能性があります。これにより、活動電位の発火がより起こりやすくなったり、起こりにくくなったりします。

人工知能のモデル

この複雑なプロセスは、脳の機能と人間の認知の基盤です。研究者はこのプロセスに基づいて、当初は非常に単純な人工知能モデルを作成し、技術の進歩とともにますます洗練されたモデルを開発してきました。

人工ニューロンとは何ですか?

一般的な定義

人工ニューロンは、人工ニューラルネットワークの基本単位です。人工ニューラルネットワークは、互いに接続されたニューロンの層が連続して構成されており、各層は前の層の出力を入力として受け取ります。

人工ニューロンの数学的性質

人工ニューロンはコンピュータビット(0または1)ではなく、むしろ数学的な抽象化(数、演算、関数、方程式、行列、集合、確率など)です。つまり、人工ニューロンは、提示されたデータに対して数学的演算を行う処理ユニットです。コンピュータビットとは異なり、データを保存しません。コンピュータビットはデジタル情報の保存の基盤です。

活性化ポテンシャルとシナプスの重み

人工ニューラルネットワークにおいて、各ニューロンは「活性化ポテンシャル」と呼ばれる変数によって捕捉された活動レベルによって特徴付けられます。ニューロンのシナプスは、別の変数である「シナプスの重み」によって特徴付けられます。

- 活性化ポテンシャルは、ある時点でのシナプス後ニューロンの電気的状態を表します。これは、シナプス前ニューロンからの入力シグナルを、それぞれのシナプスの重みで調整した上で合計することによって計算されます。活性化ポテンシャルは、入力シグナルの強度に応じて、負から正までの範囲で連続的に変化する可能性があります。

- シナプスの重みは、シナプス接続が興奮性、抑制性、または無効であるかを決定します。重みは、入力シグナルが活性化ポテンシャルに与える影響を調整します。正の重みは活動を増加させ、負の重みは活動を減少させ、ゼロの重みは効果がありません。

活性化関数と情報処理

活性化ポテンシャルは、シナプスの重みで加重された入力シグナルの組み合わせから生じます。このポテンシャルは、非線形性を導入し、シナプス後ニューロンが反応(活動電位)を生成するかどうかを決定する活性化関数にさらされます。最終的に、これらのメカニズムにより、ニューロンは情報を処理し、刺激に適応的に反応することができます。これらの変数の機能は、生物学的ニューラルネットワークと人工ニューラルネットワークの両方におけるニューロンの挙動をモデル化するために基本的です。

ニューロン計算の具体例

例の構造

画像分類に使用される人工ニューラルネットワークを想像してみましょう。 このネットワークには、3つのシナプス前ニューロンからの接続を受け取るシナプス後ニューロンが1つあります。 これらの3つのシナプス前ニューロンはそれぞれ、ネットワークが分析している画像の特定の特徴(例えば、垂直線、水平線、曲線の存在)に関連付けられています。

シグナルの重み付け

シナプス後ニューロンの初期活性化ポテンシャルは0です。
3つのシナプス前ニューロンがシグナルを送信すると、各シグナルは対応する接続に関連付けられたシナプスの重みによって乗算されます。 シナプスの重みは以下の通りとします:
- 垂直線の特徴に対するシナプスの重み:+0.5
- 水平線の特徴に対するシナプスの重み:-0.3
- 曲線の特徴に対するシナプスの重み:+0.2

活性化ポテンシャルの計算

3つのシナプス前ニューロンからのシグナルは、それぞれのシナプスの重みで加重され、合計されます。
以下のシグナルがあるとします:
- 垂直線のシグナル:1
- 水平線のシグナル:0.5
- 曲線のシグナル:0.8
活性化ポテンシャルは以下のように計算されます:
活性化ポテンシャル = (1 * 0.5) + (0.5 * (-0.3)) + (0.8 * 0.2) = 0.5 - 0.15 + 0.16 = 0.51

しきい値と決定

活性化ポテンシャルが定義されたしきい値(例えば0)を超えると、シナプス後ニューロンは活動電位を発生させ、画像内で探索していた特徴が検出されたことを示します。

シナプスの重みの役割

この例では、シナプスの重みは、画像の各特徴の相対的な重要性を決定する上で重要な役割を果たします。 シナプスの重みで加重された入力シグナルは、活性化ポテンシャルの計算に使用され、それがしきい値を超えると、シナプス後ニューロンの反応が引き起こされます。 これにより、ニューラルネットワークは、画像内で検出された特徴に基づいて意思決定を行うことができます。

人工ニューラルネットワークはどのように機能しますか?

ハードウェアインフラ

人工ニューラルネットワークのハードウェアインフラは生物学的なものではありません。これは、従来のコンピューティング(マイクロプロセッサ、グラフィックカードなど)と同じです。

ソフトウェアインフラ

人工ニューラルネットワークのソフトウェアインフラは異なります。 機械学習アルゴリズムはデータから学習し、提供された例に基づいて挙動を調整します。一方、従来のプログラミングアルゴリズムは、静的な明示的な命令に基づいており、それ自体で変化しません。 この意味で、AIは革命的です。なぜなら、ChatGPT 3.5の1750億のパラメータのルールを静的に書き込むには、何千年もかかっていたであろうからです。

層の組織

ニューラルネットワークは、層に編成されており、各人工ニューロン(数学的関数)は入力を受け取り、それらの入力に対して計算を行い、出力を生成します。 最初の層は入力層で、生データ(テキスト、デジタル画像、または他の収集されたデータ)を受け取ります。 その後ろには、1つまたは複数の隠れ層(外部からアクセスできない)があり、最後に出力層が予測を生成します。

情報の伝播

予測を行うために、データは入力層から出力層に伝播されます。 各ニューロンは、加重された入力を合計し、活性化関数を適用し、結果を次の層に渡します。

活性化関数の役割

活性化関数は、ネットワークに非線形性を導入します。 これは、量の間の関係が一定の比例ではなく、確率であることを意味します。 これが、ニューラルネットワークに、画像認識から機械翻訳、自然言語モデリングに至るまで、さまざまな問題を解決する能力を与えます。

ラベルとの比較と誤差の測定

予測を行った後、ネットワークは自らの結果を正しいラベルと比較し、両者の間の誤差または違いを測定します。 正しいラベルは、教師あり学習モデルのトレーニングセットの不可欠な構成要素です。 これらは、トレーニングセットの各例に対して提供され、モデルが正確な予測を学習できるようにします。

重みの調整:誤差逆伝播

次のステップでは、誤差逆伝播アルゴリズムがネットワークの重み(ニューロンが入力に反応する方法を決定する内部パラメータ)を調整します。 これにより、モデルの誤差を最小化する値を見つけることができます。 このプロセスは、ネットワークが満足のいくパフォーマンスレベルに達するまで繰り返されます。

ネットワークのハイパーパラメータ

ネットワークには、学習率、使用されるバッチサイズ、ネットワークアーキテクチャ、層における活性化関数の選択など、調整するハイパーパラメータも存在します。
各組み合わせについてモデルを評価した後、研究者は検証データで最も優れたパフォーマンスを発揮するハイパーパラメータを選択します。

最終評価

最終的に、トレーニングされたモデルは、これまで見たことのない新しいデータで評価されます。

ニューラルネットワークの学習プロセス

トレーニングセット

データセンターが、28x28ピクセルのグレースケール画像で、0から9までの手書き数字を表す100,000枚の異なる画像を提供できると仮定しましょう。

ネットワークアーキテクチャ

私たちのニューラルネットワークは、画像のサイズ(28x28ニューロン)に設定された入力層、1つまたは複数の隠れ層、および10個のニューロンを持つ出力層(0から9までの10個の可能な数字があるため)を持つことになります。 出力層の各ニューロンは、画像が特定の数字に対応する確率を表します。
ニューロン間の接続の重みは、最初にランダムな値に設定されます。

特徴抽出:畳み込み

生データ(例えば、数字の3のデジタル画像)は入力層に入力されます。
画像の局所的な領域を分析するために、畳み込みフィルタが画像上をスライドし、階層的な視覚的特徴のマップを抽出します。 最初の層はエッジを検出し、上位の層はより複雑なパターンを検出します。

伝播と内部計算

データは、加重された接続に従って伝播し、活性化関数を適用します。 各層で、数学的演算が行われ、出力が得られます。

最終予測

出力層は、各数字(0-9)に対してスコアを生成します。 ある関数がこれらのスコアを確率に変換します。 最も高い確率を持つ数字がネットワークの予測になります。

コスト関数

次に、ネットワークは自らの予測を画像の実際のラベルと比較します。
コスト関数は、モデルの予測と実際のラベルの間の乖離を測定します。

誤差逆伝播と最適化

そのために、誤差はネットワークを通して逆方向に伝播されます。 ネットワークは、各層でパラメータ(重みとバイアス)を調整して誤差を最小化します。これは、勾配降下法のようなアルゴリズムを使用して行われます。

反復的なトレーニング

このプロセスは、非常に多くのトレーニング画像に対して繰り返されます。 ネットワークは、各反復でパラメータを調整し、手書き数字の分類を改善します。 ネットワークがトレーニングされると、パフォーマンスを評価するために、別のデータセットでテストされます。

覚えておくべきこと

人工ニューラルネットワークは、人間の脳の働きにインスパイアされています:互いに接続されたニューロンがシナプスの重みによって調整されたシグナルを交換します。人工版では、各ニューロンは数学的関数であり、入力の加重和を計算し、活性化関数を適用し、結果を伝達します。

学習は、例に基づいてシナプスの重みを自動的に調整することで行われます。これは、誤差逆伝播と最適化(勾配降下法)のプロセスを通じて行われます。ルールを明示的にプログラムすることなく学習できるこの能力が、AIを従来のコンピューティングと区別します。

実際には、ネットワークは層(入力、隠れ、出力)に編成されており、ラベル付きデータを用いた反復的なトレーニングの後、新しいデータ(画像認識、言語処理など)に対して予測を行うことができるようになります。

FAQ: 人工ニューラルネットワークについて知っておくべきことすべて

生物学的ニューロンと人工ニューロンの違いは何ですか?

生物学的ニューロンは、電気的および化学的シグナル(神経伝達物質)を通じて情報を交換します。人工ニューロンは、数学的な抽象化(数、関数)であり、計算を行います。コンピュータビットとは異なり、データを保存しませんが、活性化ポテンシャルとシナプスの重みを通じて情報を処理します。

人工ニューラルネットワークはどのように学習しますか?

学習は3つの主要なステップで行われます:まず、ネットワークは入力データを層を通じて伝播させることで予測を行います。次に、コスト関数を通じて自らの予測を正しいラベルと比較します。最後に、誤差逆伝播アルゴリズムがシナプスの重みを調整して誤差を最小化し、このプロセスを多くの例で繰り返します。

なぜニューラルネットワークで活性化関数が使用されるのですか?

活性化関数は、ネットワークに非線形性を導入します。これは、量の間の関係が一定の比例ではなく、確率であることを意味します。この特性が、ニューラルネットワークに画像認識、機械翻訳、自然言語モデリングなどの複雑な問題を解決する能力を与えます。

このカテゴリーを探索する

AIツールの選び方 AIツールの選び方
人工知能:ノイズの創造者と弾けようとしている認知バブル
人工知能:ノイズの創造者と弾けようとしている認知バブル
生成AI vs AGI:模倣の終わり、意識の始まりはどこか? 生成AI vs AGI:模倣の終わり、意識の始まりはどこか?
人工ネットワーク vs 生物学的ネットワーク:2つのシステム、共通のアーキテクチャ 人工ネットワーク vs 生物学的ネットワーク:2つのシステム、共通のアーキテクチャ
人間の脳と人工知能:類似点と相違点 人間の脳と人工知能:類似点と相違点
AlphaGo vs AlphaGo Zero:人工知能の革命 AlphaGo vs AlphaGo Zero:人工知能の革命
知的機械の次のステップ 知的機械の次のステップ
生物学的ニューロンから形式ニューロンへ:脳の単純化 生物学的ニューロンから形式ニューロンへ:脳の単純化
人工知能:巨大化の爆発 人工知能:巨大化の爆発
人工知能が狂ったとき! 人工知能が狂ったとき!
人工知能の誕生:知能の幻想か、本当の知能か? 人工知能の誕生:知能の幻想か、本当の知能か?
人工知能の課題と脅威 人工知能の課題と脅威
人工知能と自然言語 機械は人間と同様に言語を理解し、解釈し、生成する方法
人工ニューラルネットワークの仕組み 人工ニューラルネットワークの仕組み