ディープラーニング(深層学習)を学習するにあたって入門段階で欠かせない概念のひとつに「ニューラルネットワーク」というものがあります。まさに、ディープラーニングの基礎の基礎ともいえるのがこのニューラルネットワークなのですが、いったいどのような概念なのでしょうか。
昨今話題になっているディープラーニングは、このニューラルネットワークの発展形であるといわれています。そのためディープラーニングの学習の入門には、ニューラルネットワークの知識が欠かせないといわれているのです。
そこで今回は、ディープラーニングを学ぶならぜひ、いいえ、必ず知っておきたい「ニューラルネットワーク」の入門用知識について詳しくそしてわかりやすくお話しましょう。
ニューラルネットワークとは
そもそもニューラルネットワークとは何なのでしょうか。まずは、ニューラルネットワークを知るための入門の第一歩からご説明します。
機械学習と呼ばれるものには多くの手法がありますが、このニューラルネットワークもそのうちのひとつなのです。
ニューラルネットワークの仕組み
それでは、ニューラルネットワークは、いったいどのような仕組みで動いているのでしょうか。これもニューラルネットワークの入門段階では、知っておきたい内容です。
ここでは、入力層、中間層ひとつ、出力層の3層からなる多層パーセプトロンというモデルで、ニューラルネットワークの仕組みを説明することにしましょう。
例えば、Z1の出力結果が0.8であったとします。しかしながら、実際には出力Z1を0.5にしたい場合は、重み付けであるW1やW2の値を調整していけば良いことに。
この望ましい結果を出すために重み付けを調整する作業こそが、人工知能(AI)における学習となるのです。
ニューラルネットワークとディープラーニングの違いとは
ところで、ニューラルネットワークとディープラーニングや機械学習といった言葉は、合わせて耳にすることが多い単語ですので、混同してしまったり誤った使い方をしてしまうことが多いです。
そこで、ニューラルネットワークの入門にあたってここでは両者の違いについてご説明しましょう。
ちなみにディープラーニングは、中間層が非常に多い構造をしていますが「ディープ」と呼ばれるのはこのことを指しているのです。
畳み込みニューラルネットワークとは
ニューラルネットワークの入門としてもう一つ知っておきたいことがあります。それが「畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)」です。
「畳み込み」というと何だかよくわかりませんが、画像認識の場合、簡単に言えば画像の特徴を際立たせること。
その画像全体をそのまま分析するのではなく、さまざまな特徴量を抽出した画像より小さなフィルターを画像全体にスライドさせながら分析していきます。つまり、特徴ごとの複数のフィルタを使って、画像に含まれるさまざまな特徴を抽出していくのです。
次に、畳み込みによって抽出した特徴をもとにして「特徴マップ」を作成します。
プーリング層では、この特徴マップを要約する作業を行います。特徴マップを小さいブロックに区切り、区切ったブロック内の最大値を取り出していきます。
実際の畳み込みニューラルネットワークは、畳み込み層とプーリング層が何層にも重なって構成されています。
ニューラルネットワークをさらに学びたくなった人におすすめの書籍
さて、ここまで、ニューラルネットワークの概要について簡単にご紹介してきましたが、この記事を読んでさらにニューラルネットワークについて興味を持った方におすすめの入門用書籍をご紹介することにしましょう。
「ニューラルネットワーク自作入門」は、AI(人工知能)の基本であるニューラルネットワークを入門者向けにわかりやすく解説した、まさにニューラルネットワークの入門書です。
そして、ニューラルネットワークがどのように動作するのか、についても大いに言及している本書では、Pythonによる実装と動作確認まで解説。
最終的には、自分が書いた手書きの数字を認識する画像認識をRaspberry Piで動かしてみるという本格的な実装まで体験することができます。
ニューラルネットワークについて知りたい方や実際に作ってみたい方、ニューラルネットワークの背景にある数学的なアイデアを理解したい人には最適な一冊といえるでしょう。
ここまで、ニューラルネットワークの入門用知識について入門者の方向けに説明してきました。
ニューラルネットワークとは、人間の脳神経系であるニューロンというものを数理モデル化したものの組み合わせのことでしたよね。そしてこのニューラルネットワークが、ディープラーニングを議論するうえで欠くことのできない重要な概念であることもご紹介しました。
今回はあくまで、ニューラルネットワークの入門ということでしたが、ニューラルネットワークについてさらに深く知りたいという方はぜひ、書籍等を利用して学んでみてください。ニューラルネットワークの入門書は、今回ご紹介したもの以外にもいくつも出版されていますので、興味のある方はいろいろと読み漁ってみるのもいいかもしれません。
是非知識を増やして新しい技術を仕事などで活かしていきましょう。