ディープラーニングについてディープにラーニング。

思いっきり、自分が学んだことのアウトプットしていきますが、何分初心者。もし何かアドバイス等頂けましたら幸いです!

2019-12-01から1ヶ月間の記事一覧

固有値と固有ベクトル

今日からUDEMYに切り替える。今回は、固有値と固有ベクトルについて 固有ベクトル 固有ベクトルとは、 ある行列に演算をしても、与えられた定数分にしか増加・減少せず、向きは一切 変わらないベクトルのこと。 その与えられた定数のことを固有値とよぶ。式…

CNNの実装

今日もアウトプットから。今回は、 このようなネットワークの構成でモデルを作成する。重み、バイアスについては、 Conv層・Affine層(全結層)・Affine層(全結層)の3か所に当てはめる。↓コード import numpy as np class SimpleConvNet: #input_dim -> 入力デ…

プーリングとコンボリューションの実装

今日もアウトプット。今日はプーリング層について。 プーリング層 プーリングとは、各プーリング層で対応する値の最大値をとってくる演算のこと。 目的は、過学習の抑制や、位置変化に対しても対応ができるようになる点。 図のほうがわかりやすい。特徴はお…

畳み込みの用語について

今回は、畳み込みの用語とかについて記載する パディング 畳み込みの処理を行うで!の前に、入力データの修理の固定のデータを埋めること。 イメージはこんな感じ行う理由は、 例えば、入力データが4×4でフィルターが3×3だったとしよう。そこで移動間隔(スト…

SSDについて

セミナーではSSDについて触れるので、 SSDについて深堀するニューラルネットワークの訓練とは、おなじみの Y = F(x)に大量の訓練データ(x,y)総じてXを入力して、 最小のパラメータの値を見つけていくって方法。 SSDで言うと、正解クラス(y) = Conv層(画像デ…

物体検出のそれぞれの特徴について

物体検出はとても難しい。 それぞれの特徴について、 今一度整理します。 畳み込みの用語 カーネル:フィルターのこと ストライド:カーネルの移動感覚のこと パディング:入力データに対して、周囲を0で囲むこと。 VGG16モデルについて VGGはConv層とマック…

畳み込みニューラルネットワーク(CNN)

やっと来た7章。ついにCNNについて学びます。 CNNとニューラルネットワークの違いは? CNN→畳み込み層とプーリング層があること(プーリング層については別の記事で) NN→ない。全結合層のみ(Affine層) 全結合っていうのは、隣接する層のすべての間でニューロ…

ハイパラメータの検証

今日もアウトプット。 ハイパーパラメータとは 各層のニューロンの数とか、バッチサイズ、学習係数やWeight decayなど、 人の手で適正な値を設定しないといけないパラメータのことである。 検証データ これまでは、学習データとテストデータの2つを用いてい…

過学習の防止

重みの初期化でも確かに過学習を防げる道にはなるが、 そのほかでもいくつか方法がある。 個人的には、Dropoutにお世話になっております。 過学習 過学習自体の話はもういいね笑 けど、要因について、書いとく。 ①パラメータを大量に持ち(ノードがたくさんあ…

重みの初期値

重みの初期値についてアウトプット。学習の精度がいまいち上がらない時がある。よく言われるのは、レイヤーの追加や学習データの増量、 パラメータの変更など方法はさまざま。結構見落とされがちであるものの、 重みの初期値も結構大切かもしんない。直結で…

最適化の種類について

今日もアウトプット。第6章まで来た 今日は第6章の①のアウトプット。 ここまではニューラルネットワークの学習の目的は損失関数(ソフトマックスの交差エントロピー誤差とか)の数値をいかに減らして、どうやって最適なパラメータを見つけるのか?が学習の目的…

活性化関数のレイヤ実装

本日は、オライリーの話。 活性化関数レイヤについて 活性化関数とは、重みとバイアスが入力値と重なって入ってきたときに、出力に大きな力を発揮してくれる関数。 シグモイドとか、レルなど、0から1の間で推移し、 正解ラベルとの確率を導き出す(導くのは…

線形変換

いよいよきました線形変換。 なんか人工知能感が増してきたなぁ…ではアウトプット。 線形変換 ベクトルを行列と掛け算することで、違うベクトルに変換すること。 線形変換はニューラルネットワークで情報を伝播させる際によく使うみたい。 例えば、こんな行…

行列式と逆行列

今日もUDEMYから入る。ではアウトプット。 今回は、行列式と単位行列という項目だが、この2つを語るのに、 まずは単位行列から説明がいる。 単位行列 単位行列とは、a = [1 , 0] [0 , 1]のように左上から右下に向かって1が並んでいて、その他の要素は0になる…

行列積と要素積と転置

今日はUDEMYから始める。 題名の通り、行列積と、要素積。 行列積 これはちょっと最初、うぉってなった。まずは図で確認。 まぁ、難しく見えるけど、 解き方は簡単だった。 みたいに、前の行と後ろの列の各要素をそれぞれ掛け算して、それぞれを足し合わせる…

内積とノルム

今日もUDEMYの数学のお勉強。 最近、めっぽう数字にまみれてるなぁ。 でもわかるってやっぱり楽しい。 仕事でも、なんでも、わかると楽しくなってくる。ではアウトプット。 内積 内積とは、ベクトル同士の各要素の掛け算を行って、最終的に総和を求める事。…

今日はUNDEMY

今日は数学の勉強から始めた。いよいよ、ベクトル、テンソルの話に入り始め、 人工知能感が出てきた。 ではアウトプット。 スカラー 1とか4とか1.2とかー7とかの通常の数値のこと。ここは問題ないよね。 ちなみに、たまにコード書いてると、 b = 1.2e5とか…

今日もオーライリー

今日もオーライリー第5章まで進んだ。 とうとう来たか。 誤差逆伝播法。僕の先生からはゼロから始めるディープラーニングは3章、4章、7章だけ抑えてたらいいよーと アドバイスいただいたが、自分の場合、理論度スルー出来たので、 勉強のためにも、進みます…

今回は、UDEMY...

今回はUDEMYの数学のアウトプット。ここまで、あんまりコードに触ってきてないから、 そろそろ触りたくなってきている。では始めます。 多項式 多項式とは複数の高からなる式のこと、って言ってもみたほうが早い。 2x + 1とか2* x**2 + 1のこと。 では、 実…

前回のオーライリーで数学がやっぱりわからんから、UDEMYと並行で。

[ 今日から、オーライリー、UDEMY数学の合わせ技で学ぶ。とりあえず、UDEMYも少し始めた。 あうとぷっとです。変数…変わる値 定数…固定されている値これは、まぁ。OK。y = ax で表されるんだってね。関数とは、ある値を決めると、必ず、yが決まってくる。y =…

今日もオーライリー

今日もオーライリーだいぶわからんくなってきた。 やっぱり、数学の部分でだいぶ躓く。 ちゃんと勉強しといたらと思ってもしゃあないか。かなり数式とか出てきたけど、 いまいちぴんと来なかった。 でも、理解したところだけ、理論はちゃんと抑えていたいと…

今日もオーライリー

前回の続きでここらでもう一回アウトプット。改めて、ニューラルネットワークの特徴について。 一番の画期的になったのは、 重みのパラメータの値をデータから自動で決定できるようになったこと。 層を深くしたディープラーニングにもなると、パラメータの数…

今日もオーマイ、オーライリー

本日は第3章が終わったので、 アウトプットに努めます。今回もコードというよりはニューラルネットワークの考え方、理論について ちゃんと、理解ができた。まず、1950年から生まれたパーセプトロンというディープラーニングのもととなる考え方では、 直線的…

今日はオーラいりー

こんばんは。pytorchはこれからもまだ学ぶんですが、 今日でUDEMYのコースが終わったんで、前回記事でいったん終了しました。いまさらながら、 ディープラーニングの登竜門といわれている文献を読もうと思いました。 僕自身は初めて拝読させていただくのです…

今日もパイトーチについての学習。今日は図形(matplotlib)によって、 視覚的に学習出力前と出力後の差についてわかりやすくしたコードを書いた。まずは全コードから。 #全コード import torch from torch.autograd import Variable import torch.nn as nn im…

本日もパイトーチの続き。今日からNN型のシンプルなモデルの勉強。 データセットはSklearnにデフォルトで入っているwineのデータセットを使う 今回は下の図のネットワークを作る。 全コード #ライブラリ import torch #自動で計算してくれる from torch.auto…

本日もPytorch…今回から少し難しくなってきた…Pytorchでは、もちろん全てPytorch.Tensorクラスでテンソルを扱う(多次元行列) Numpyだとarrayですね。 勾配をトラックするのか、勾配を取得するのか、など、色々な話が出てきた。そこで、改めて、勾配とはをア…

またまた、Pytorchの続き。 やりながら、結構Numpyに似てんなーと思ってたら、 案の定、Numpyとの連携もしてくれるみたい… アウトプットです。 Pytorch → Numpy import torcha = torch.ones(5) tensor([1., 1., 1., 1., 1.])b = a.numpy Numpy -> Pytorch a …

今日はPytorchについて備忘録。 Pytorchとは ① GPUの力を使って、フルにNumpy計算をしてくれる ② ディープラーニングにおいて柔軟で、超高速なライブラリ らしいです。(Pytorchのtutorialによると)まだ、入門しかやってないですが、 明日も触っていこうと思…

セミナーに行ってきましたので、備忘録…

今日、ハンズオンセミナーに行ってきました。 内容はYOLOモデルの実装、です。 googleから出てるgoogle colaboratoryというGPU環境も12時間以内なら使えるというとても便利なものを使って、 体験してきました。既にYOLOモデルを使って、色々自分で作っている…