ITと哲学と

IT系エンジニアによる技術と哲学のお話。

Neural Networks and Deep Learning introduction

CouseraのDeep Learningのコースを以前受けていたが,最近忙しさにかまけて結構放置してしまっていた...

反省の意を込めて,最初から受け直して見ることにしたのでメモを公開してみようと思う.

最後まで通して受け直す気力が持つといいなー

Welcome

コースの全体像の説明.

What is neural network?

家の大きさから値段を予測したいとする. 家の大きさと値段をプロットすると,それを予測するための直線がなんとなく描ける(図1).

f:id:masamasah:20180813155516j:plain

これを別の表現方法で表すと,図2のようにも表せる.

f:id:masamasah:20180813155530j:plain

家の大きさをinputとして受け取って,円のなかで何かしらの処理をして,値段をoutputとして出力する. この何かしらの処理が先ほどの直線と同様の関数であれば,家の大きさから値段を予測することができる. この,inputを受け取って,outputを返す円をニューロンという.

このニューロンが複数積み重なってできるのが,ニューラルネットワークである.

Supervised Learning with N.N.

教師あり学習とは,INPUTとOUTPUTの組み合わせが複数与えられた時に,INPUTを正しくOUTPUTに変換する関数を求める学習方法であり,ニューラルネットワークでもよく用いられる.

Why is DeepLearning taking off

ニューラルネットワークは近年の技術的な進歩によってその有用性が高まってきている. 一番大きいのはデジタル化によって存在しているデータの量が増えたことが大きい.

図3にデータ量とパフォーマンスの一般的な関係を載せる.

f:id:masamasah:20180813155558j:plain

データが少ない領域では,ニューラルネットワークだろうが他のアルゴリズムだろうが基本的には大きく違いはなく,いかにうまく特徴量を設計できるかによって,その差が生じていた. ここが従来の機械学習は職人技と言われる所以になっていた.

データが多い領域では,逆に,特徴量の設計などは関係なく,大きなネットワークで高い性能が出るようになった.近年のデータ量の増加に伴って,主戦場が移った.

データの量だけではなく,コンピュータの計算能力の向上やアルゴリズムの改善ももちろん大きく寄与している. 大量のデータを扱うのには大変時間がかかっていたが,コンピュータの処理能力の向上やアルゴリズムの向上によって短い時間で処理できるようになったことが大きい進歩の要因の一つになっている.