ラビットチャレンジ【深層学習day1】~入力層・中間層~

概要

ニューラルネットワーク(以下、NN)は人間の脳を模倣したネットワークである

NNは入力層、中間層、出力層からなり、中間層を多くして、パラメータを調整することでより複雑なタスクに対応することができる

NNでは以下のような回帰問題、分類問題に対応できる

現在、深層学習を実用化した例は多数ある

入力層にはデータ(数値)が入り、そこからNNの肝となる中間層に繋がる

NNは数学的に記述ができ、pythonで実装可能である

この章では以下の項目を学んだ

・NNの全体像(確認テスト2つ含む)

・NNにできること

・入力層から中間層(確認テスト1つ含む)

・数式とコード(確認テスト2つ含む)

・ハンズオン

NNの全体像

NNは入力層、中間層、出力層から成り層と層の間にある重み(パラメータ)を調整することで、求められる出力を得る。

<<確認テスト>>

ディープラーニングは結局何をしようとしているのか?また、どの値の最適化が最終目的か?

ニューラルネットワーク内にある重みとバイアス最適化を行い、各出力の確率を出力する数学モデルを構築すること

②入力層:2ノード1層 中間層:3ノード2層 出力層:1ノード1層 を記述せよ

f:id:Maruring:20210715224746p:plain

NNにできること

回帰

連続する実数値を取る関数の近似

・売上予測

・株価予想

・競馬順位予想

・人気順位予想

回帰

性別(男あるいは女)や動物の種類など離散的な結果を予想するための分析

猫写真の判別

・手書き文字認識

・花の種類分類

深層学習の実用例

・自動売買

・チャットボット

・翻訳

入力層から中間層

入力層から中間層は以下のように図示できる。

f:id:Maruring:20210716001305p:plain

w,bを学習することで予測を行うことができる

<<確認テスト>>

上の図に動物分類の実例をいれよ

f:id:Maruring:20210716001918p:plain

数式とコード

中間層への入力は以下の数式で表すことができる(入力は4つとする)


u = w_{1}x_{1} + w_{2}x_{2} + w_{3}x_{3} + w_{4}x_{4} + b = Wx + b

<<確認テスト>>

①上記の式をpythonで記述せよ

x = np.array([x1,x2,x3,x4]) w = np.array([w1,w2,w3,w4]) u = np.dot(x,w) + b

②1-1ファイルから中間層の出力を定義しているソースを抜き出せ

f:id:Maruring:20210716003521p:plain

ハンズオン

重みやバイアスを変更して出力の変化を確認した

f:id:Maruring:20210716004404p:plain