ニューラルネットワークとは、人間の脳の神経細胞のつながりからヒントを得て作られた計算の仕組みです。大量のデータから規則を見つけ出すことが得意です。

基本となる部品は「ニューロン」と呼ばれる小さな計算単位です。入力された数値に重みをかけて足し合わせ、その結果を次の層へ送ります。

ニューロンは層状に並べられます。データを受け取る入力層、途中の計算を行う隠れ層、そして答えを出す出力層です。隠れ層が多いものを深層学習と呼びます。

各ニューロンの出力には活性化関数が適用されます。これにより、ネットワークは単純な直線では表せない複雑な関係も学べるようになります。

学習とは、重みを少しずつ調整する作業です。まず予測を行い、正解とのずれを損失として測り、そのずれが小さくなるように重みを直します。

この調整には誤差逆伝播法と勾配降下法が使われます。誤差を出力側から入力側へ逆にたどり、それぞれの重みをどの向きに動かすべきかを計算します。

学習には大量のデータと計算力が必要です。特にグラフィックボードによる並列計算が、近年の急速な進歩を支えてきました。

用途によって構造も変わります。画像には畳み込みニューラルネットワーク、文章や音声にはトランスフォーマーがよく使われます。

学習しすぎて訓練データだけに合わせてしまう「過学習」には注意が必要です。そのため、未知のデータでも性能を確かめます。

ニューラルネットワークは、翻訳、音声認識、画像の判別など、私たちの身近な技術の土台になっています。
