-
Notifications
You must be signed in to change notification settings - Fork 0
DNET_NeuralNetwork
- 戻る(深層学習(deep learning))
- パーセプトロン
- ニューラルネットワーク
-
脳機能に見られるいくつかの特性に類似した数理的モデル(確率モデルの一種)
-
シナプスの結合によりネットワークを形成した人工ニューロン(ノード)が、
学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般。 -
実際に生物の神経系のシミュレーションであるか否かについては
議論があるため人工ニューラルネットワークなどと呼ばれることもある。
-
ネットワークにループする結合を持たず、
- 単一方向へのみ信号が伝播する。
第0層 第1層 第2層
入力層 → 中間層(隠れ層) → 出力層
-
機械学習の、
- 学習フェーズでは、信号は逆方向に伝播する。
- 推論フェーズでは、信号は順方向に伝播する。
-
-
パーセプトロンでは、活性化関数にStep関数(段階関数)を
使用していたが、ニューラルネットワークでは、
これ以外の活性化関数(Sigmoid関数、ReLU関数)を使用する。 -
線形の座標変換(アフィン変換)をしたモノに対して
目盛の振り直しを行い新しい非線形の座標系を作る。
「重み」によって「新しい非線形の座標系」が変わる。 -
参考
- ニューラルネットワークと深層学習
CHAPTER 4 ニューラルネットワークが任意の関数を表現できることの視覚的証明
https://nnadl-ja.github.io/nnadl_site_ja/chap4.html
- ニューラルネットワークと深層学習
-
-
「重み」のパラメタ(w1, w2, θ(-b))の決定は人手によって行われる。
という問題を、データから自動で「重み」のパラメタを学習することで解決する。 -
ニューラルネットワークとは微分
(DS:数学的基礎 - 微分・偏微分)可能な変換が
幾つも連なってできた一つの大きな合成関数で、
この微分は逆伝播の連鎖律で計算できる。 -
従って、ネットワーク構造が複雑であっても、
合成関数を構成する個々の変換が微分可能であれば、
勾配法によって目的関数(損失関数)
(いずれも ニューラルネットワーク(学習)の該当節を参照)を
最適化することで(収束するかどうかは別にして)求めることが出来る。
そのままの値を出力(出力に重みを掛けられる)。
- 入出力変換後、重みを掛けて多分岐。
- 以下のような関数を使用できる。
- 任意の実数を非線形に変換出来る関数
- 誤差逆伝播法(深層学習の誤差逆伝播法)を
用いるため微分できる関数
- 0、1の間の値に変換(全部の和が1となるように正規化する場合もある)
- これにはSigmoid関数またはSoftmax関数
(ニューラルネットワーク(推論)の該当節を参照)が必要。
出力と教師信号の誤差の計算をし、
2→1→0層と層の重みを更新していく
(誤差逆伝播法、深層学習の誤差逆伝播法)
関数はニューラルネットワーク全体で1つの関数、個々の合成関数。
- (x) → (z) → (w) → (p)
- ◯ → ◯ の「→」の部分が関数と重み(重みは入力に掛ける値)
(x) ─ f1(x1, x2, x3, ...) → (z) ─ f2(z1, z2, z3, ...) → (w) ─ f3(w1, w2, w3, ...) → (p)
-
複雑性(表現力)、計算可能性
-
深くする(p=fn(...f3(f2(f1(x)))...)と
少ないパラメタで複雑(≒ 高次)な関数を作れる。- 1次関数だと複雑にならない。
- 2次関数だとパラメタが多過ぎ。
- 非線形なΦ(活性化関数)に1次関数(w1x1+w2x2+w3x3+...+b)を入力
z1 = Φ1(w11x1 + w12x2 + w13x3 + ... + b1)
z2 = Φ1(w21x1 + w22x2 + w23x3 + ... + b2)
...
zn = Φ1(wn1x1 + wn2x2 + wn3x3 + ... + bn)
上記を行列計算に出来る。
- オンライン(ニューラルネットワーク(学習)の該当節を参照)
(t1,t2,t3,t4) = (x1,x2,x3,x4)┌w11,w12,w13,w14┐ + (b1,b2,b3,b4)
│w21,w22,w23,w24│
│w31,w32,w33,w34│
│w41,w42,w43,w44│
│w51,w52,w53,w54│
└w61,w62,w63,w64┘
(z1,z2,z3,z4) = Φ((t1,t2,t3,t4))
- バッチ(サイズ3、ニューラルネットワーク(学習)の該当節を参照)
┌t11,t12,t13,t14┐ ┌x11,x12,x13,x14┐┌w11,w12,w13,w14┐ ┌b1,b2,b3,b4┐
│t21,t22,t23,t24│ = │x21,x22,x23,x24││w21,w22,w23,w24│ + │b1,b2,b3,b4│
└t31,t32,t33,t34┘ └x31,x32,x33,x34┘│w31,w32,w33,w34│ └b1,b2,b3,b4┘
│w41,w42,w43,w44│
│w51,w52,w53,w54│
└w61,w62,w63,w64┘
┌z11,z12,z13,z14┐ ┌t11,t12,t13,t14┐
│z21,z22,z23,z24│ = Φ(│t21,t22,t23,t24│)
└z31,z32,z33,z34┘ └t31,t32,t33,t34┘
-
出力層
分類問題の場合、Softmax関数
(ニューラルネットワーク(推論)の該当節を参照)
以下は、2値分類の例- オンライン
softmax((p1,p2)) = (f1,f2)
- バッチ
┌p11,p12┐ ┌f11,f12┐
softmax(│p21,p22│) = │f21,f22│
└p31,p32┘ └f31,f32┘
-
誤差計算
分類問題の場合、交差エントロピー誤差
(ニューラルネットワーク(学習)の該当節を参照)
以下は、2値分類の例- オンライン
cross_entropy_error((f1,f2)) = (l1,l2)
- バッチ
┌f11,f12┐ ┌l11,l12┐
cross_entropy_error(│f21,f22│) = │l21,l22│
└f31,f32┘ └l31,l32┘
-
各層の出力する前に、出力結果をどの程度活性(発火)させるかを決める関数。
-
ニューラルネットワークでは、非線形な関数を使用する必要がある。
- 線形関数を用いてはならないのは、多層化の意味が無くなるため。
- 例 : 線形な h(x) = cx を多層化しても h(h(h(x))) = cccx となり1層で表現可能。
-
また、出力層の活性化関数には、Sigmoid関数、Softmax関数がある。
-
しかし、最近は、勾配消失問題を防ぐReLU関数の利用が主流に
なっている。
- 微分可能な非線形な関数
- 0 <= 出力信号 <= 1 に収める。
- 入力信号が重要な時に1(に近い)、重要でない時0(に近い)値を返す。
-
Step関数:0, 1の信号
- 単純パーセプトロンの活性化関数はStep関数。
- ある閾値を超えたら「1」、それ以外は「0」を返す関数。
-
Sigmoid関数:連続的な実数の信号
- 出力層の活性化関数として使われていたが転用。
- 微分可能で誤差逆伝播法(バックプロパゲーション)
(深層学習の誤差逆伝播法)が可能だが、
勾配消失問題が起こる。
f(x) = 1 (x ≧ 0)
f(x) = 0 (x < 0)
なんとなくAPI仕様を知らないと難しい感じ。
- パターン1
"""This is a test program."""
import numpy as np
def step_function(x_1):
"""This is a test program."""
y_1 = x_1 > 0
return y_1.astype(np.int)- パターン2
"""This is a test program."""
import numpy as np
def step_function(x_1):
"""This is a test program."""
return np.array(x_1 > 0, dtype=np.int)※ 0、1を真偽のキャストで返しているのがトリッキーだよ。
-5.0 ~ 5.0までの0.1刻みのプロットをStep関数にかけてグラフ化する。
"""This is a test program."""
import numpy as np
import matplotlib.pylab as plt
def step_function(x_1):
"""This is a test program."""
# 上記のいずれかの実装を選択。
X = np.arange(-5.0, 5.0, 0.1)
Y = step_function(X)
plt.plot(X, Y)
plt.ylim(-0.1, 1.1) # 図で描画するy軸の範囲を指定
plt.show()
もともと出力層の活性化関数から転用されたものなので
詳細はそちらを参照。
- 式
f(x) = 1 / (1 + e^-x)
1
h(x) = ────────
1 + exp(-x)
-
特徴
-
exp(-x)とは、eの-x乗を意味し、eはネイピア数
(DS:数学的基礎 - 微分・偏微分の該当節を参照)
(2.7182)の実数を表す。 -
微分値は、以下の式で表され、最大勾配はX=0の時でf(0)=0.5なので0.5(1-0.5)=0.25
-
f'(x) = f(x)(1-f(x))
- 最大勾配は0.25で勾配消失問題を引き起こし易い
(昔の勾配消失の主因)。
ポイントは、Pythonのブロードキャストによって配列も計算できる点。
"""This is a test program."""
import numpy as np
def sigmoid(x_1):
"""This is a test program."""
return 1 / (1 + np.exp(-x_1))-5.0 ~ 5.0までの0.1刻みのプロットをSigmoid関数にかけてグラフ化する。
"""This is a test program."""
import numpy as np
import matplotlib.pylab as plt
def sigmoid(x_1):
"""This is a test program."""
return 1 / (1 + np.exp(-x_1))
X = np.arange(-5.0, 5.0, 0.1)
Y = sigmoid(X)
plt.plot(X, Y)
plt.ylim(-0.1, 1.1)
plt.show()
-
上記は標準Sigmoid関数で、温度パラメタ = 1の場合。
-
一般的なSigmoid関数は以下の温度パラメタの逆数aを使って表現される。
-
正確には、温度パラメタは Tnで、a = 1/Tn、Tn = 1/a となる。
-
式
f(x) = 1 / (1 + e^(-x * a))
1
h(x) = ────────
1 + exp(-x * a)
- 実装
"""This is a test program."""
import numpy as np
def sigmoid(x, a):
"""This is a test program."""
return 1 / (1 + np.exp(-x * a))- 形状の変化

-
tanh(Hyperbolic tangent function)関数、双曲線正接関数
-
式
f(x) = (e^x - e^-x) / (e^x + e^-x)
-
特徴
-
あらゆる入力値を-1.0~1.0の範囲の数値に変換して出力する関数である。
-
Sigmoid関数より勾配消失に強い。
- 微分値は、以下の式で表され、
最大勾配はX=0の時でf(0)=0なので (1.0 - 0.0^2) = 1.0
- 微分値は、以下の式で表され、
-
f(x)' = 1 - f(x)^2
- 最大勾配は[Sigmoid関数](#sigmoid関数)が0.25、tanh関数が1.0なので、\
[勾配消失問題](#勾配消失問題が起こる)を引き起こし難く、学習をより高速化させる。
- ただ、それでも勾配消失問題は発生する\
(非常に深いネットワークでは勾配消失問題は防ぎ難い)
def tanh(x):
y = np.tanh(x)
return yx = np.arange(-10.0, 10.0, 0.1)
y = tanh(x)
plt.plot(x, y)
plt.ylim(-1.2, 1.2)
plt.show()
-
ReLU(Rectified Linear Unit)関数、正規化線形関数
-
式
f(x) = x (x ≧ 0) → 傾き 1
f(x) = 0 (x < 0) → 傾き 0
┌
│0 ( a <= 0 )
y = h(a) = <
│a ( a > 0 )
└
- 特徴
勾配消失問題を防ぐ関数として主流。- 入力 x が0を超えていれば x をそのまま出力する。(傾き 1)
- 入力 x が0以下なら0を出力する。(傾き 0)
-
最近の主流。
-
その理由は、
np.maximumとか知らんわwと思ってググると、大きい方を返すと。
(つまり、xが、0以下のときは0が返り、0以上になるとxの値が返る。)
"""This is a test program."""
import numpy as np
def relu(x_1):
"""This is a test program."""
return np.maximum(0, x_1)移行メモ(正誤): 元ページの実装は引数
x_1に対してnp.maximum(0, x)と
なっていたためnp.maximum(0, x_1)に修正した。
-5.0 ~ 5.0までの0.1刻みのプロットをReLU関数にかけてグラフ化する。
"""This is a test program."""
import numpy as np
import matplotlib.pylab as plt
def relu(x_1):
"""This is a test program."""
return np.maximum(0, x_1)
X = np.arange(-5.0, 5.0, 0.1)
Y = relu(X)
plt.plot(X, Y)
plt.ylim(-0.1, 5.1)
plt.show()
- 式
f(x) = x (x ≧ 0)
f(x) = αx (x < 0)(※αは0.01)
-
特徴
- x < 0において、僅かな傾きをもっている。
- 微分値が0になることはなくなり、
ReLUよりも勾配消失問題を引き起こし難い。
-
実装
np.where は三項演算子のベクトル版
def leaky_relu(x, alpha=0.01):
y = np.where(x > 0, x , alpha * x)
return y- グラフ
x = np.arange(-5.0, 5.0, 0.1)
y = leaky_relu(x, alpha=0.1)
plt.plot(x, y)
plt.ylim(-1.0, 5.5)
plt.show()
LeakyReLU の < 0 部分の直線の傾きを「学習によって最適化」
LeakyReLU の < 0 部分の直線の傾きを「ランダムに試す」
移行メモ(正誤): 元ページの「く 0 部分」は「< 0 部分」の
誤変換と判断し修正した。
主に物体認識に使用されている。
def abs_relu(x):
return np.abs(x)-
ReLUをさらに一般化した関数
- ReLUの2つの定義域をK個に拡張し、領域毎に異なる関数を用意。
- 区分線形凸関数を学習する(=活性化関数自体を学習する)。
- kが十分大きければどんな凸関数も任意の精度で近似できる。
-
Dropout(深層学習のテクニックの該当節を参照)と
組み合わせることで高い精度が得られる。
GELU(Gaussian Error Linear Units)は、GPTやBERTで使われている。
いずれも ニューラルネットワーク(推論)の該当節を参照。
いずれも 深層学習のテクニックの該当節を参照。
過学習は 機械学習の該当節を参照。
- 従来手法よりも過学習を起こし易い。
- データサンプルは、パラメータの10倍あると良い。
- 少ないデータ量でもできるだけ性能を落とさずに済むような工夫が新たに必要。
深層学習のテクニックの該当節を参照。
- DNNの場合、(データマイニング(DM)- Python - DLの該当節を参照)
- CNNの場合、(データマイニング(DM)- Python - CNNの該当節を参照)
学習率とは、
-
一回の学習でどれだけ学習するか?
=どれだけパラメタ更新するか?で、 -
学習率が従来の機械学習の手法よりも大きく影響する。
-
学習率が
-
学習率が適切な場合、
スムーズに学習が進行する。 -
小さ過ぎると
- 収束後は安定するものの、
- 収束までに時間がかかり過ぎる。
-
大き過ぎると
- 素早く学習完了するものの、
- 発散(≒ 極小値周辺を行ったり来たり)する。
- 著しく大きい場合、学習するほど誤差が増える。
-
移行メモ(正誤): 元ページの「どれだけ学習るか?」は「学習するか?」、
「素早く学習官僚するものの」は「素早く学習完了するものの」の
誤記・誤変換と判断し修正した。
-
調整
-
一般的に、10^-1(0.1)~10^-6(0.000001)の間で調整。
-
もしくは、学習率が自動調整されるような工夫がある。
-
誤差逆伝播法(深層学習の誤差逆伝播法)の
計算において入力層に近い手前の層まで学習が行き渡らなくなる現象
-
誤差逆伝播法では奥にある出力層から、手前にある入力層へ順番に伝わる。
-
勾配の値は層を遡るほど連鎖律
(DS:数学的基礎 - 微分・偏微分の該当節を参照)で
1未満の値のかけ算する回数が増え小さくなる。 -
このため、
- 手前の層ほど学習の際に用いる勾配の値が小さくなり、
- 手前の層ほど十分なパラメタの更新ができなくなる。
-
一時的に、事前学習とファイン・チューニング
(いずれも 深層学習のテクニックの該当節を参照)の
方法で解決した。 -
その後、
-
ResNetのSkip Connectionで残差学習
(畳み込みニューラルネットワーク(CNN)の該当節を参照) -
ハードウェア性能の向上(CPU、GPU、TPU、
深層学習(deep learning)の該当節を参照)
により(事前学習とファイン・チューニングを用いず、)
全体の学習ができるようになった。
(Feedforward Neural Network: FNN)
(Deep Neural Network: DNN)
DNNの説明は本項で行われています。
-
ニューラルネットワーク内の層が多層(ディープ)化されている仕組み
-
DNNを用いた近似は、非線形関数である活性化関数を何層にも
組み合わせることで多種・多様な強い表現力を獲得することが可能 -
線形の座標変換(アフィン変換)をしたモノに対して目盛の振り直しを行い、
新しい非線形の座標系を作る。
"重み"によって"新しい非線形の座標系"を変えることで、
現象を高次元の関数で近似することが出来る。
RNN Encoder-Decoder(Sequence-to-Sequence)
生成モデルは 機械学習の理論の該当節を参照。
-
Restricted Boltzmann Machine
-
ボルツマン・マシンは変数の組合せが
どのような頻度で出現するかを確率分布で表現する。 -
深層信念ネットワーク(2006, ジェフリー・ヒントン)
- AEに「制限付きボルツマンマシン」と言う手法を用いる。
- 積層AEと同様に事前学習を用いた手法
(自己符号化器(AE:オートエンコーダ)の該当節を参照)
- 音声認識ソフトウェアの性能の向上
-
2Dベースのアプローチを結集する2D based approach
- Complex YOLO
- YOLO 3D
-
点群NNを適応するPoint cloud based approach
- PointNet
- PointNet++
- VoteNet
-
画像から得た結果と点群NNをフュージョンするアプローチ
- Frustrum PointNets
-
点群NNで点群を前処理(エンコード)した後に
2Dベースのアプローチを適応するPointCloud+2Dアプローチ- VoxelNet
- Pointpillars
画像処理とコンピュータビジョンの該当節を参照。
- 順不同なデータ構造
- 非自明な隣接関係(畳み込み)
- 回転・並進の取り扱いが難しい
いずれも 画像処理とコンピュータビジョン(AI)の該当節を参照。
-
物体検出
- VoxelNet
- VoteNet
-
領域検出
... -
特定物体検出
... -
把持位置検出
PointNetGPD
(Deep Q-Network: DQN)
-
強化学習(機械学習の該当節を参照)に
深層学習を適用し成功した一つの例- 深層強化学習(機械学習の該当節を参照)のアルゴリズム
- 強化学習の構造中にニューラルネットワークを埋め込む。
- 連続値の行動とそれに伴う高い報酬(Q)が得られるように学習する。
-
Q学習と呼ばれるアルゴリズムに基づいており、
- 行動価値関数 Q (s,a) (状態sで行動αを選び、
その後方策に従った場合の期待累積報酬r) を
真の価値関数に近づけるように更新していく。 - 価値関数をDNNにより近似する手法はDQNが登場するよりも古くから
提案されていたが、学習が不安定と言う課題に取り組んだ点がDQNの貢献。
- 行動価値関数 Q (s,a) (状態sで行動αを選び、
-
DQNが解決に取り組んだ学習の不安定化要因は大きく3つ
-
入力データが時系列データであり、入力データ間に独立性がない。
- DQNでは「Experience Replay」を適用した。
- エージェントが経験した状態・行動・報酬・遷移先は一旦メモリに保存される。
- 損失の計算を行う際には、メモリに保存した値からランダムサンプリングを行う。
-
価値関数が小さく更新されただけでも方策が大きく変わってしまう。
- DQNでは「Target Q-Network」を適用した。
- 学習の目標値の計算に用いる価値関数を一定期間の学習の間、固定する。
- 一定期間の学習の間、価値関数ネットワークのパラメタを固定し、
一定周期でこれを更新する。
-
与えられたタスクによって報酬のスケールが大きく異なる。
- DQNでは「報酬のクリッピング」を適用した。
- 報酬の値を [-1, 1] の範囲に制限することで学習を安定させる。
- 報酬の大小を区別できなくなるデメリットはあるものの
学習が安定するメリットは大きい。
-
深層強化学習の事例(機械学習の該当節を参照)を参照。
- 機械学習・深層学習についてのレポート
https://www.osscons.jp/joho108j0-537/#_537
-
ニューラルネットワーク
https://ja.wikipedia.org/wiki/ニューラルネットワーク -
畳み込みニューラルネットワーク
https://ja.wikipedia.org/wiki/畳み込みニューラルネットワーク -
敵対的生成ネットワーク
https://ja.wikipedia.org/wiki/敵対的生成ネットワーク
いずれも 深層学習(deep learning)の該当節を参照。
- ニューラルネットワークと深層学習
https://nnadl-ja.github.io/nnadl_site_ja/- ニューラルネットワークを用いた手書き文字認識
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html - 逆伝播の仕組み
https://nnadl-ja.github.io/nnadl_site_ja/chap2.html - ニューラルネットワークの学習の改善
https://nnadl-ja.github.io/nnadl_site_ja/chap3.html - ニューラルネットワークが任意の関数を表現できることの視覚的証明
https://nnadl-ja.github.io/nnadl_site_ja/chap4.html
- ニューラルネットワークを用いた手書き文字認識
- ニューラルネットワークの表現力を確かめる
https://mzmlab.hatenablog.com/entry/neural-regress - ニューラルネットワークと最小二乗法の違いについて考えてみた
https://mzmlab.hatenablog.com/entry/neural-regress-sinc
Pythonで学ぶディープラーニングの理論と実装
https://www.oreilly.co.jp/books/9784873117584/
https://github.com/oreilly-japan/deep-learning-from-scratch
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch01
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch02
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch03
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch04
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch05
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch06
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch07
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/ch08
- https://github.com/oreilly-japan/deep-learning-from-scratch/tree/master/notebooks
-
『ゼロから作るDeep Learning』の学習ノート:記事一覧 - からっぽのしょこ
https://www.anarchive-beta.com/entry/2020/06/01/192900- 1章 Python入門
- 2章 パーセプトロン
- 3章 ニューラルネットワーク
- 4章 ニューラルネットワークの学習
- 5章 誤差伝播法
- 6章 学習に関するテクニック
- 7章 畳み込みニューラルネットワーク
- 8章 ディープラーニング
-
Qiita
-
ゼロから作るDeep Learning
https://qiita.com/okayu303/- 誤差逆伝播法の概要
https://qiita.com/okayu303/items/b67ea27ae221fb5386d1 - Affineレイヤ
https://qiita.com/okayu303/items/8931a9076d7b867109d4 - Softmax-with-Lossレイヤ
https://qiita.com/okayu303/items/b67ea27ae221fb5386d1
- 誤差逆伝播法の概要
-
【学習メモ】ゼロから作るDeep Learning
https://qiita.com/yakof11/items/ -
深層学習 / ゼロから作るDeep Learning
-
ゼロから作るDeep Learningで素人がつまずいたことメモ: まとめ
https://qiita.com/segavvy/items/4e8c36cac9c6f3543ffd- 1章:https://qiita.com/segavvy/items/1945aa1a0f91a1473555
- 2章:https://qiita.com/segavvy/items/d8e9e70437e35083a459
- 3章:https://qiita.com/segavvy/items/6d79d0c3b4367869f4ea
- 4章:https://qiita.com/segavvy/items/bdad9fcda2f0da918e7c
- 5章:https://qiita.com/segavvy/items/8707e4e65aa7fa357d8a
- 6章:https://qiita.com/segavvy/items/ca4ac4c9ee1a126bff41
- 7章:https://qiita.com/segavvy/items/8541c6ae1868d9b2b805
- 8章:https://qiita.com/segavvy/items/3eb6ea0ea2af68c96fcf
-
「ゼロから作るDeep Learning」自習メモ
- (1)ディレクトリー、フォルダの配置とか
https://qiita.com/slow_learner/items/8272450c2b876fdc690c - (2)2章 パーセプトロン、半加算器、全加算器
https://qiita.com/slow_learner/items/7caefc9ff17b4f543b15 - (3)3.6.1 MNISTデータセットのダウンロード
https://qiita.com/slow_learner/items/9447c5717d52d3e60930 - (4)3.6.2 ニューラルネットワークの推論処理
https://qiita.com/slow_learner/items/d914454ecee154e98cd2 - (5)4章 ニューラルネットワークの学習
https://qiita.com/slow_learner/items/4e799af75779e35abca9 - (6の2)Kaggleの猫と犬のデータセット
https://qiita.com/slow_learner/items/95603dcbe8784036fadb - (6の3)9未満か9以上か
https://qiita.com/slow_learner/items/3b7d3b8f4c7821a2b617 - (7)なんで2分の1、なんでlog?
https://qiita.com/slow_learner/items/efbe24999562c3630c93 - (8)6章のグラフをmatplotlibで描いてみた
https://qiita.com/slow_learner/items/d770bc712c96f0ec3b69 - (9) MultiLayerNetクラス
https://qiita.com/slow_learner/items/16b4cad06782abeb98d5 - (10)MultiLayerNetクラス
https://qiita.com/slow_learner/items/cfca161fb2fb05216a74 - (10の2)重みの初期値
https://qiita.com/slow_learner/items/d2e2e2094080d67e3e01 - (11)CNN
https://qiita.com/slow_learner/items/d4c36e3701e16c5a9e77 - (12)ディープラーニング
https://qiita.com/slow_learner/items/ed10b1964c33e76235f3 - (13)Google Colaboratoryを使ってみる
https://qiita.com/slow_learner/items/ccf0a35bcb1a0d628669 - (14)Google Colaboratoryで4章のプログラムを動かして見る
https://qiita.com/slow_learner/items/c422bd3d06c86bf0beec - (15)TensorFlowの初心者向けチュートリアル
https://qiita.com/slow_learner/items/f9ba7f84053684da750a - (16)SimpleConvNetをKerasで構築してみた
https://qiita.com/slow_learner/items/28a8025c9b881491e3be - (17)DeepConvNetをKerasで構築してみた
https://qiita.com/slow_learner/items/675fbedc932e850db4e8 - (18)ワン!ニャン!Grad-CAM!
https://qiita.com/slow_learner/items/a62421e5110cf925e503 - (読めない用語集)
https://qiita.com/slow_learner/items/03eb3367119e98b5a22c
- (1)ディレクトリー、フォルダの配置とか
-
Tags: 移行, ニューラルネットワーク, 深層学習, 活性化関数, DQN, 開発基盤
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。