Python×医療事務(×トロント)

#医療 / #医療事務 / #IT / #トロント / #歯科助手 / #のんびり / #備忘録 / #趣味

ディープラーニング 中途半端

GPU=以前はゲームなどのグラフィック分野 、近年ではディープラーニングを用いたモデルの学習マシンとして。
CPU GPUは、コンピュータの計算を処理する点では同じだが、GPUはCPUよりも多くのコアを搭載している
 
ディープラーニング(deep learning / 深層学習)=脳(神経細胞)の働きを模した学習アルゴリズム。一般的に
中間層(隠れ層/hidden layers)が2層以上のニューラルネットワーク
 
 
機械学習=特徴量(変数)の設計が難しかった
例として画像認識にて
入力データ=ピクセル値そのものではなく、「特徴量」と呼ばれる変数の集合
特徴量=色、形状、テクスチャといった様々な情報を表現した変数のセット
 
ディープラーニングは、特徴量もデータから自動的に学習することが可能
 
分類や回帰が可能
 
 

ディープラーニング(深層学習)ライブラリ

Chainer(日本 撤退)、Theano(セアノ)、
TensorFlow(テンソルフロー/Google)、Keras、Caffe、PyTorch
 
 ニューラルネットワーク (NN / Neural Network)
入力画像xがNNに渡された際に、そのまま識別結果yを出力

ディープラーニングの主な手法

 

CNN (Convolutional Neural Network)=畳み込みニューラルネットワーク、ConvNet、主力のディープニューラルネットワーク

画像認識におけるディープラーニングで一般的に使用される

畳み込み層とプーリング層と全結合層から構成されるニューラルネットワーク

 

畳込み層とプーリング層という特殊な2つの層が含まれる順伝播型ネットワーク(フィードフォワード)=多層パーセプトロン(ニューラルネットワーク)
左から右へと入力層から出力層へ一方向のみ伝播する

入力xが一旦、zへ変換される→NNに渡され最終的にyが出力通常のニューラルネットワーク(フィードフォワード)に渡される。)
zは画像から抽出された重要な特徴 

 

畳み込み演算は、入力データに対してカーネル(フィルターとも)を適応

 

入力データにフィルターをかけることで、特徴マップを作成

 

1. カーネル 

畳み込みに使用するカーネル(フィルター)に関して設定しなければならないパラメーターが4つ

1.使用するフィルタの数(K)
2.フィルタの大きさ(F)
3.フィルタの移動幅(S)
4.画像の端の領域をどれくらい埋めるのか。(パディングの設定)(P)

 


2. ストライド

カーネルをずらす際の間隔

ストライドを大きくすると、出力サイズは小さくなる

 

3. パディング

入力の幅を広げるためのパディング

 パディングを大きくすると、出力サイズは大きくなる

畳み込み演算を何度も繰り返すと、いつかは出力サイズが1に

CNNの層がカーネルと入力のサイズに依存 

 入力にゼロパディングすることでカーネル幅と出力のサイズを独立に制御できる

 

プーリング層=畳み込み層で得た特徴マップを縮小する層

基本的に活性関数にはReLU関数を利用

RNN (Recurrent Neural Network)再帰ニューラルネットワーク

アルゴリズム:可変長のデータを扱うため隠れ層に再帰的な構造をもたせたニューラルネットワークを利用

自然言語処理の分野

例)株価予測やチャットボット、音声認識

 

 

オートエンコーダー(AutoEncorder)系
アルゴリズム 情報を効率よく圧縮する構造をもたせたニューラルネットワークを利用
3層ニューラルネットワークにおいて入力層と出力層に同じデータを用いて教師あり学習させたもの   次元圧縮することを目的
エンコード=「次元圧縮」   デコード=「次元復元」
GANやAdversarial Autoencodersも合わせて学ぶことでより理解が深まる
 誤差関数を最小化することでネットワークの重み及びバイアスを決定