Global Walkersは、2022年よりAI/DX関連のブログを始めました!
記念すべき第1回目は、近年注目を集めているディープラーニング(Deep Learning:深層学習)について、基礎的な内容を解説していきます。ディープラーニングは、人間の神経細胞(ニューロン)の仕組みを模擬した手法であるニューラルネットワークが基になっています。ディープラーニングの概念自体は新しいものではありませんが、近年注目を集めています。その理由は、既存技術では不可能だったレベルのパフォーマンスを達成できるようになってきているからだと言えます。
ディープラーニングを説明する前に、まずはニューラルネットワークとは何かを説明します。
神経細胞(ニューロン)の概要
図1は、人間の神経細胞の構成図はです。神経細胞は、核とそれを取り巻く細胞質からなる細胞体と、そこから伸びる軸索と樹状突起で構成されています。樹状突起は他の神経細胞から刺激を受け取る入力アンテナの役割を、軸索は他の細胞に刺激を伝える出力端子の役割を担います。
この刺激をニューロン間で伝達するために、シナプスと呼ばれる構造が形成されています。シナプスとは簡単に言えば、隣のニューロンに情報を伝えるための接合部のことです。軸索の先端(軸索末端)は他の細胞の樹状突起と接続してシナプスを形成し、シナプスを通じて他の細胞に信号を伝達します。このシナプスを通じた情報伝達は一方向に行われます。
図1 神経細胞の構成図 (出所:Wikipedia)
図2は、神経細胞の構成図を簡略化したものです。ニューロンはシナプスを通じて信号を受け取ります。シナプスには興奮性シナプスと抑制性シナプスが存在し、興奮性シナプスからの信号の総和から、抑制性シナプスからの信号の総和を引いた結果が、閾値よりも大きい場合に発火が起こり、次のニューロンに信号が伝達されます。
図2 神経細胞の簡略図
神経細胞とニューラルネットワーク
図3は、ニューラルネットワークにおけるニューロンの概略図です。x1からx4 の信号がシナプスを通じて入力され、刺激の総和uが計算されます。そして、刺激の総和uに基づいて信号zを出力します。刺激の総和uから出力zを求める関数は活性化関数f(u)と呼ばれています。
図3 ニューラルネットワークにおけるシナプスとニューロン
前述の神経細胞の概略(図2)と、図3のニューラルネットワークの動作原理を対応づけたものが図4です。シナプスを通じてx1からx4が入力されます。その際に、各入力に重みw1からw4が掛け合わされ、バイアスbが加算されて、それらの総和uが求まります。そして、活性化関数f(u)により出力信号zが決定します。wが正の場合は興奮性シナプス、負の場合は抑制性シナプスとみなすことができます。
図4 神経細胞とニューラルネットワークの関係
このニューロンを並列に多数配置し、さらにそれらを層状に連結したものが図5のニューラルネットワークです。各層間のニューロンはシナプスにより連結されており、全てのシナプスがそれぞれ重みwを持っています。
0から9の数字認識を例に説明すると、入力層x1からxD に画像の各画素の輝度値が入力され、重みwが掛け合わされ総和を計算した後、活性化関数により出力zが出力され、という処理を複数回繰り返して最終的な出力値y1からym(入力画像の数字が0から9のいずれなのか)が得られます。
図5 ニューラルネットワークの概略図
次回は、ディープラーニング(Deep Learning:深層学習)の概要と活性化関数について説明します!