生成AI,Transfomerを理解するために、基本となるニューラルネットワークの基礎を説明しています。
【この記事からわかること】
脳内の情報伝達は、約1000億個のニューロンが電気信号を介してやり取りすることで行われている。人工ニューロンは、脳内のニューロンの働きを数学的にモデル化したものであり、現代のニューラルネットワーク理論の基礎となっている。人工ニューロンでは、入力信号に重みを掛け合わせ、バイアスを加えた値を活性化関数で変換することで出力が決定される。活性化関数には、シグモイド関数やロジスティック関数などの非線形な関数が用いられ、ニューラルネットワークに非線形性を持たせている。指数関数は、正の値で急激に増加し、負の値で急激に減少する性質を持ち、自然界の様々な現象を表現できる。ロジスティック関数は、指数関数を用いてニューロンの出力を0から1の範囲に滑らかに制限し、ニューラルネットワークの学習において重要な役割を果たしている。
目次
・脳における情報伝達
・ニューロンと情報伝達
・視覚情報の伝達イメージ
・人工ニューロンとモデル化
・ニューロンモデルの解説
・活性化関数
・指数関数とロジスティック関数
・指数関数のグラフとその性質
・ロジスティック関数の特徴
・ロジスティック関数とニューラルネットワークの学習
【第1章】脳とニューラルネットワーク:情報伝達の仕組み
・脳における情報伝達
私たちの脳内では、約1000億個ものニューロンが電気信号を介して情報をやり取りしている。この複雑なネットワークにより、感覚の処理や思考、意思決定が可能となっている。自然界における巨大な並列処理システムと言える。
・ニューロンと情報伝達
ニューロン同士は、シナプスと呼ばれる特殊な接合部で信号をやり取りしている。しかし、シナプスはニューロンを物理的に直接つなぐのではなく、シナプス間隙と呼ばれる小さな隙間を介して神経伝達物質を放出し、信号を伝えている。例えば、ある神経伝達物質であるグルタミン酸は、シナプス前ニューロンから放出されると、シナプス後ニューロンの受容体に結合し、イオンチャネルを開いて細胞内にナトリウムイオンを流入させる。これによって、シナプス後ニューロンの電位が上昇し、活動電位が発生するのだ。このように、一つ一つのニューロンの働きが組み合わさることで、脳は複雑な情報処理を実現している。
・視覚情報の伝達イメージ
例えば、目から入ってきた光は網膜の視細胞で電気信号に変換され、複数のニューロンを経由して脳の視覚野へと伝えられる。この過程で、色や形、動きなどの異なる情報は、それぞれ特化した視覚野で処理される。具体的には、一次視覚野(V1)では、線の傾きや明暗の検出が行われ、二次視覚野(V2)では、よりグローバルな形状の処理が行われる。さらに高次の視覚野では、物体の認識や顔の識別など、より複雑な処理が行われる。
・人工ニューロンとモデル化
このような生体のニューロンの働きを数学的に模倣したものが、人工ニューロンだ。1943年、ウォーレン・マカロックとウォルター・ピッツが提案した人工ニューロンモデルは、入力となる電気信号の重み付け合計がある閾値を超えた場合にのみ出力信号を発生させるという仕組みを持っている。数式で表すと、入力信号を x1, x2, ..., xn、それぞれの重みを w1, w2, ..., wn、閾値を θ とすると、出力 y は以下のように表せる。
y = f(w1 x1 + w2 x2 + ... + wn * xn - θ)
ここで、f は活性化関数と呼ばれる非線形関数である。このシンプルなモデルが、現在のニューラルネットワーク理論の基礎となっている。現代のニューラルネットワークでは、この人工ニューロンを多層に重ねることで、より複雑な計算を実現している。
【第2章】人工ニューロンの数学的モデル:活性化関数の役割
・ニューロンモデルの解説
前回も触れたように、人工ニューロンモデルでは、複数の入力(x1, x2, ..., xn)にそれぞれ重み(w1, w2, ..., wn)が割り当てられる。これらの重み付き入力の合計にバイアス(b)を加えたものがニューロンの活性(u)を決定する。数式で表すと、以下のようになる。
u = w1 x1 + w2 x2 + ... + wn * xn + b
この活性値は、活性化関数を通してニューロンの出力が決定されるのだ。活性化関数は、ニューロンの活性値を非線形に変換することで、ニューラルネットワークに非線形性を持たせ、より複雑な関数を表現できるようにしている。
・活性化関数
ニューロンの出力を決める活性化関数には、一般的に非線形な関数が用いられる。代表的な活性化関数の一つが、シグモイド関数だ。シグモイド関数は以下の式で表される。
f(u) = 1 / (1 + exp(-u))
ここで、exp(x)は指数関数(e^x)を表す。シグモイド関数の出力は常に0から1の間の値をとる。この関数の特徴は、活性値が大きいほど出力が1に近づき、小さいほど0に近づくことだ。つまり、ニューロンの活性が高ければ出力は1に近づき、低ければ0に近づく。
・指数関数とロジスティック関数
シグモイド関数の一種であるロジスティック関数は、指数関数(e^x)の性質を利用している。指数関数は、オイラー数(e≒2.71828)を底とする関数で、自然界の成長プロセスや放射性崩壊など、多くの現象に見られる。例えば、バクテリアの増殖は指数関数的に進むことが知られている。ロジスティック関数は、この指数関数を用いてニューロンの出力を0と1の間に制限することで、ニューラルネットワーク内での情報の非線形変換を可能にしている。ロジスティック関数は、以下の式で表される。
f(u) = 1 / (1 + exp(-u))
これは先述のシグモイド関数と同じ式だが、特にロジスティック関数と呼ばれることが多い。ロジスティック関数の名前は、人口増加モデルの一つであるロジスティック方程式に由来している。ロジスティック方程式では、初期段階では指数関数的に増加するが、資源の制限などにより、最終的には一定の値に収束するという特徴がある。ニューラルネットワークにおけるロジスティック関数も、この特性を利用して、ニューロンの出力を滑らかに制限している。
【第3章】指数関数とロジスティック関数の特徴
・指数関数のグラフとその性質
指数関数(e^x)のグラフを見ると、xが正の値になるにつれて急速に増加することがわかる。例えば、e^1≒2.72、
e^2≒7.39、e^3≒20.09と、xが1増えるごとに値が約2.72倍になっていく。これは、「指数的に増加する」という表現で説明されることが多い。一方、xが負の値になると、
e^(-1)≒0.37、e^(-2)≒0.14、e^(-3)≒0.05と、xの絶対値が大きくなるほど急速に0に近づいていく。つまり、指数関数は正の値に対しては急激に増加し、負の値に対しては急激に減少するという性質を持っている。
この性質は、現実世界の様々な現象に当てはめて考えることができる。例えば、放射性物質の崩壊は、一定時間ごとに一定の割合で減少していくが、これは負の指数関数で表現できる。また、感染症の初期段階での感染者数の増加は、正の指数関数的な振る舞いを示すことが知られている。
・ロジスティック関数の特徴
ロジスティック関数のグラフは、以下の式で表される。
f(u) = 1 / (1 + exp(-u))
このグラフは、u=0を中心にS字型の曲線を描く。ロジスティック関数の重要な特性は、uが非常に大きな負の値をとると出力が0に近づき、uが非常に大きな正の値をとると出力が1に近づくことである。また、u=0のとき、出力は0.5となる。これは、ニューロンが「オン」か「オフ」かの閾値を表していると解釈できる。ロジスティック関数が持つこのような特性は、ニューラルネットワークにおける活性化関数として非常に有用だ。ニューロンの活性値を0から1の範囲に滑らかに制限することで、ネットワーク内の情報を非線形に変換できる。さらに、ロジスティック関数は微分可能であるため、勾配降下法などの最適化アルゴリズムを用いてネットワークの重みを更新することが可能となる。
・ロジスティック関数とニューラルネットワークの学習
ニューラルネットワークの学習において、活性化関数の選択は非常に重要だ。ロジスティック関数のような滑らかで微分可能な関数を使うことで、ネットワークは複雑な非線形関数を近似することができる。また、学習の過程で重みを適切に更新することができる。例えば、画像認識のタスクにおいて、ニューラルネットワークは入力画像に対して、エッジの検出、形状の認識、物体の同定などの複雑な処理を行う必要がある。これらの処理を実現するために、ネットワークは入力データの非線形な特徴を捉えなければならない。ロジスティック関数を活性化関数として用いることで、ネットワークはこのような非線形な特徴を学習
することができるのだ。また、自然言語処理の分野でも、ニューラルネットワークは大きな成果を上げている。言語データは、文脈に応じて複雑な意味を持つため、その処理にはニューラルネットワークの非線形性が不可欠だ。ロジスティック関数を用いたニューラルネットワークは、単語の埋め込みや感情分析、機械翻訳などの様々なタスクで優れた性能を示している。
まとめ
ニューラルネットワークは、脳内の情報伝達を模倣した人工ニューロンを基本単位として構成されている。人工ニューロンは、入力信号に重みを掛け合わせ、バイアスを加えた値を活性化関数で変換することで出力を決定する。活性化関数には、シグモイド関数やロジスティック関数などの非線形な関数が用いられ、ニューラルネットワークに非線形性を持たせている。特に、ロジスティック関数は指数関数を用いてニューロンの出力を0から1の範囲に滑らかに制限し、ニューラルネットワークの学習において重要な役割を果たしている。この人工ニューロンを組み合わせることで、複雑な情報処理が可能となり、画像認識や自然言語処理など、様々な分野で優れた性能を発揮している。ニューラルネットワークの基礎となる人工ニューロンとその数学的モデルについて理解することは、現代の人工知能技術を学ぶ上で不可欠である。