脳の仕組みをまね、プログラム自身が学習するディープラーニングのこと

脳の仕組みをまね、プログラム自身が学習するディープラーニングのこと

人の脳に存在し、情報処理を行う神経細胞であるニューロン。ただ、ニューロン単体では単純な演算処理しかできず、そのニューロン間の結合部となるシナプスを通じて、複合的な処理が行われることで、複雑なものごとを考えられるようになる脳。

そんな、ニューロンとシナプスの仕組みを真似て、プログラム自身が学習を行うニューラルネットワーク。そんなニューラルネットワークを多階層化し、より複雑な処理を行うことができるディープラーニング。

そんなディープラーニングは、出力された値と、実際の正解との誤差を読み取り、プログラム内部の重みや数値を自動調整することで、プログラム自身が学習を繰り返す流れが描かれています。

ちょっと間違ってるかも。そしてPythonが難しい。

ありがとうございました!

本のまとめ(ニューラルネットワークのこと)

▼読んだ本は?

■はじめてのディープラーニング Pythonで学ぶニューラルネットワークとバックプロパゲーション
■我妻 幸長 (著)

▼脳に存在するニューロンとは?

■情報処理に特化した神経細胞のこと
■神経細胞ひとつひとつは、単純な演算のみしかできない
■でも、神経細胞間でネットワークを形成することで、高度な情報処理ができるようになる
■神経細胞すべての接続状態を示した地図を「コネクトーム」と呼ぶ

▼シナプスとは?

■ニューロン同士の結合部分を「シナプス」と呼ぶ
■神経細胞1個辺り、1000個のシナプスがある
■脳全体で100兆個のシナプスがある
■このシナプスが、複雑な記憶や意識に関係している

▼人工ニューロンと人工ニューラルネットワークとは?

■人工ニューロン
└人のニューロンの仕組みを真似て、コンピュータ上でモデル化したもの
└1つのニューロンに対して、他の複数のニューロンからの入力がある
└「入力」×「重み」+「バイアスと呼ばれる定数」により処理され、処理結果を次のニューロンに出力する
└この処理を行う関数を「活性化関数」と呼び、出力された数値が「ニューロンの興奮状態を表す信号」となる

■人工ニューラルネットワーク
└個々のニューロンをいくつかの階層上に並べたもの
└「入力層」「中間層」「出力層」の大きく3つに分類される
└入力層は値を中間層にわたすだけ、中間層・出力層はそれぞれ活性化関数により、処理が行われる

▼人工知能とは?

■自ら考える力を持ったコンピュータプログラムのこと
■コンピュータによる、知的な情報処理システム
■生物の知能を再現する技術のこと

▼ディープラーニングとは?

【1】まず人工知能がある
【2】人工知能の1つとして、機械学習がある
【3】機械学習の1つとして、ニューラルネットワークがある
【4】ニューラルネットワークの1つとして、ディープラーニングがある
【5】ディープラーニングとは入力から出力に至るまでに、何層もの深いニューロンの階層構造を通して、情報処理が行われるプログラムのこと

▼ニューラルネットワークでよく扱われる問題は?

■回帰問題=データの傾向から、連続的な数値を予測する問題
└身長から、体重を予測する
└過去の株価の傾向から、明日の株価を予測する
└投入する広告費から、アプリのダウンロード数を予測する

■分類問題=データを、決められた複数の枠に分類する問題
└葉の画像から、植物を分類する
└画像に映る人物を、男女に分類する
└体のサイズと特徴から、イルカとクジラを分類する
└手書きのアルファベットを、aからzに分類する

▼ディープラーニングの実際の活用例は?

■画像認識
└画像の特徴を認識し、自動分類する
└顔認証・自動運転・患部の発見など

■自然言語処理
└文書の構造を解析し、自動分類する
└翻訳エンジンや文章の自動生成など

■音声認識
└音のパターンを認識し、自動分類する
└会話エンジンや装置の異常検知など

■ゲーム用AI
└ゲームプレイヤーの思考を学び、自動分類する
└囲碁や将棋の対戦相手など

■アート
└画風を模倣し、自動分類する
└画像や動画の生成を行う

▼バックプロパゲーションとは?

【1】ニューラルネットワーク上で、入力→出力までを行い、その出力結果と正解との誤差を算出する
【2】算出された誤差から、出力→入力とさかのぼっていき、各ニューロンの重み・バイアスを調整する
【3】この【1】【2】を繰り返すことで学習していくことを「バックプロパゲーション」と呼ぶ

関連する記事