AIとは何か

3分でわかる!ニューラルネットワークの入門用知識について解説

ディープラーニングのイメージ

ディープラーニング(深層学習)を学習するにあたって入門段階で欠かせない概念のひとつに「ニューラルネットワーク」というものがあります。まさに、ディープラーニングの基礎の基礎ともいえるのがこのニューラルネットワークなのですが、いったいどのような概念なのでしょうか。

昨今話題になっているディープラーニングは、このニューラルネットワークの発展形であるといわれています。そのためディープラーニングの学習の入門には、ニューラルネットワークの知識が欠かせないといわれているのです。

そこで今回は、ディープラーニングを学ぶならぜひ、いいえ、必ず知っておきたい「ニューラルネットワーク」の入門用知識について詳しくそしてわかりやすくお話しましょう。

ニューラルネットワークとは

ニューラルネットワークとは

そもそもニューラルネットワークとは何なのでしょうか。まずは、ニューラルネットワークを知るための入門の第一歩からご説明します。

ニューラルネットワークとは、人間の脳神経系であるニューロンというものを数理モデル化したものの組み合わせのこと。ニューラルネットワークは、人間の脳が持つ機能のいくつかをコンピュータ上で再現するために作られた数学モデルです。
つまり、人間の脳の構造を人工的に模してつくったものといえるのです。
ちなみに、ここでいうニューロンとは、人間の脳内にある神経細胞のことで、このニューロン同士の結びつきによって情報が伝達されたり、物事を記憶することができるというもの。

機械学習と呼ばれるものには多くの手法がありますが、このニューラルネットワークもそのうちのひとつなのです。

ニューラルネットワークの仕組み

ニューラルネットワークの仕組み

それでは、ニューラルネットワークは、いったいどのような仕組みで動いているのでしょうか。これもニューラルネットワークの入門段階では、知っておきたい内容です。

ニューラルネットワークは、入力層と出力層、それにいくつかの中間層(隠れ層)から構成されており、層と層の間には、ニューロン同士のつながりを重み付けするための数値「W」が存在します。中間層は多層構造にすることが可能で、多層になればなるほどより人間の脳神経系に近づけることができ、複雑な処理が可能です。

ここでは、入力層、中間層ひとつ、出力層の3層からなる多層パーセプトロンというモデルで、ニューラルネットワークの仕組みを説明することにしましょう。

データが入力層X1に入ってくると、そのデータに、W1という重み付けを行い、中間層であるY1に結果を出力します。そして今度は、先ほど導かれたY1の結果を入力として、今度はW2という重み付けを行ったものを、出力層であるZ1に書き出します。入力するX1のデータが同じであっても、重み付けW1,W2の値が異なれば、出力結果Z1は異なります。

例えば、Z1の出力結果が0.8であったとします。しかしながら、実際には出力Z1を0.5にしたい場合は、重み付けであるW1やW2の値を調整していけば良いことに。

この望ましい結果を出すために重み付けを調整する作業こそが、人工知能(AI)における学習となるのです。

ニューラルネットワークとディープラーニングの違いとは

ニューラルネットワークとディープラーニングの違いとは

ところで、ニューラルネットワークとディープラーニングや機械学習といった言葉は、合わせて耳にすることが多い単語ですので、混同してしまったり誤った使い方をしてしまうことが多いです。

そこで、ニューラルネットワークの入門にあたってここでは両者の違いについてご説明しましょう。

ディープラーニング(深層学習)とは、ニューラルネットワークを多層に結合して表現や学習の能力を高めた機械学習の手法のひとつ。
すなわち、ニューラルネットワークを用いて行う機械学習の種類のひとつがディープラーニングであるということ。そしてこのディープラーニングは、ニューラルネットワークのアルゴリズムとしてもっともよく用いられている手法です。

ちなみにディープラーニングは、中間層が非常に多い構造をしていますが「ディープ」と呼ばれるのはこのことを指しているのです。

畳み込みニューラルネットワークとは

畳み込みニューラルネットワークとは

ニューラルネットワークの入門としてもう一つ知っておきたいことがあります。それが「畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)」です。

現在、画像認識や動体検知などに使われているニューラルネットワークのほとんどが畳み込みニューラルネットワークであるともいわれており、そして畳み込みニューラルネットワークは、通常のニューラルネットワークと異なり、畳み込み層とプーリング層からなります。

「畳み込み」というと何だかよくわかりませんが、画像認識の場合、簡単に言えば画像の特徴を際立たせること

その画像全体をそのまま分析するのではなく、さまざまな特徴量を抽出した画像より小さなフィルターを画像全体にスライドさせながら分析していきます。つまり、特徴ごとの複数のフィルタを使って、画像に含まれるさまざまな特徴を抽出していくのです。

次に、畳み込みによって抽出した特徴をもとにして「特徴マップ」を作成します。

プーリング層では、この特徴マップを要約する作業を行います。特徴マップを小さいブロックに区切り、区切ったブロック内の最大値を取り出していきます。

このプーリングという作業を行うことによって、特徴の厳密な位置の変化を気にすることなく画像における特徴を抽出することが可能です。この性質を「移動普遍性」といい、畳み込みニューラルネットワークが画像認識に適している理由の一つといえます。

実際の畳み込みニューラルネットワークは、畳み込み層とプーリング層が何層にも重なって構成されています。

ニューラルネットワークをさらに学びたくなった人におすすめの書籍

ニューラルネットワークをさらに学びたくなった人におすすめの書籍

さて、ここまで、ニューラルネットワークの概要について簡単にご紹介してきましたが、この記事を読んでさらにニューラルネットワークについて興味を持った方におすすめの入門用書籍をご紹介することにしましょう。

「ニューラルネットワーク自作入門」は、AI(人工知能)の基本であるニューラルネットワークを入門者向けにわかりやすく解説した、まさにニューラルネットワークの入門書です。

ニューラルネットワークがどのように動作するのか、について学ぶことができますし、また、この書籍は、数学やコンピュータの専門家を対象にしていないので、中学・高校で学ぶ程度の数学の知識さえあれば十分に読み進められるというのも特長です。

そして、ニューラルネットワークがどのように動作するのか、についても大いに言及している本書では、Pythonによる実装と動作確認まで解説。

最終的には、自分が書いた手書きの数字を認識する画像認識をRaspberry Piで動かしてみるという本格的な実装まで体験することができます。

ニューラルネットワークについて知りたい方や実際に作ってみたい方、ニューラルネットワークの背景にある数学的なアイデアを理解したい人には最適な一冊といえるでしょう。

 

ニューラルネットワークのイメージ

ここまで、ニューラルネットワークの入門用知識について入門者の方向けに説明してきました。

ニューラルネットワークとは、人間の脳神経系であるニューロンというものを数理モデル化したものの組み合わせのことでしたよね。そしてこのニューラルネットワークが、ディープラーニングを議論するうえで欠くことのできない重要な概念であることもご紹介しました。

今回はあくまで、ニューラルネットワークの入門ということでしたが、ニューラルネットワークについてさらに深く知りたいという方はぜひ、書籍等を利用して学んでみてください。ニューラルネットワークの入門書は、今回ご紹介したもの以外にもいくつも出版されていますので、興味のある方はいろいろと読み漁ってみるのもいいかもしれません。

是非知識を増やして新しい技術を仕事などで活かしていきましょう。

トップへ戻る
タイトルとURLをコピーしました