けの〜のブログ

ガッキーでディープラーニングして教育界に革命を起こす

ディープラーニング

RNN Recurrent Neural Networkについて

RNN Recurrent Neural Networkについて 深層学習 (岡谷貴之著)によると、再帰型ニューラルネット(Recurrent Neural Network)とは 再帰型ニューラルネット(RNN )は、音声や言語、動画像といった系列データを扱うニューラルネットです。これらのデータは、一…

Deep Learning Frame work TensorFlowとPytorch

TensorFlowとPytorchについて書き留めたいと思う。 Deep learningでは大量の行列の計算を行う。 そのためGPUでの計算が実用上早いとされるため、Deep LearningにはGPUの設備が必要になってくる。 GPU上でプログラムを実行するにはGPU専用の言語があるため、N…

学習を上手く行うために Transfer Learning

学習を上手く行うために Transfer Learning Transfer Learning In practice, very few people train an entire Convolutional Network from scratch (with random initialization), because it is relatively rare to have a dataset of sufficient size. In…

学習を上手く行うために Regularization Drop out Data augmentation

学習を上手く行うために Regularization Regularization とはNeural networkの能力を制限して、過学習を防ぐ方法である。 L2 regularization is perhaps the most common form of regularization. It can be implemented by penalizing the squared magnitud…

学習を上手く行うために Optimization

学習を行う際、重みwの傾きから損失関数を減らす方向に重みを調整していくが重みが何次元もあると local minima(極小値)やsaddle point(鞍点)と呼ばれる、重みの傾きが局所的に0になってしまうところが生じてしまい上手く学習が進まない場合がある この場…

学習を上手く行うために どのように学習を見守るか Babysitting the learning process , Hyper parameter optimization

まず学習を行う手順を確認しよう 1.Input data が Zero-Centeredになるように前処理 preprocessingを行う 2.CNNの構造を決定する 畳み込み層は何層にするかなど 3.Softmaxなどの損失関数で得られた値が妥当性のある値かチェックする この時reguralizationは…

学習を上手く行うために Batch Normalization

Batch Normalizationについて Batch NormalizationはConv層やFully Connected層の後に用いられ、W*Xで出力された値を正規化し、無理やり正規分布になるよう値を調整する、それを次の層へ出力する これによりネットワークの傾きの流れが良くなり Learning rat…

学習を上手く行うために 重みの初期設定 Weight Initializationについて

重みの初期設定 Weight Initializationについて 最初の重みが統一されていると、つまり重みフィルターw0~wnまで同じ値だと重みフィルターをいくつも用意する意味がない(ただ同じ値が計算されていくだけだから) なので重みフィルターの値は異ならないといけ…

学習を上手く行うために data preprocessingについて

特に画像データに関してはzero-centeringの処理のみ行う 機械学習においてそれぞれの特徴量が同じように影響し合う(元々の数値の大きさに左右されないために)正規化という処理を施すが、画像データでは行わない。 それは隣り合うピクセルは相対的な違いを…

活性化関数の働きについて 学習を上手く行うために

活性化関数について Sigmoid関数が避けられるのは、 1.大きな値、小さすぎる値には1か0を出力するために、傾きが殺されてしまうということ 2.正の値のみし返さないため、inputの値であるxが正の時はwは正の値しか与えられず負の場合にはwは負の値になるため…

CNNについて ⑤ CNNの構造全体についてのまとめ ConvNet Architectures

今までの総括としてCNNの全体としての構成を見ていきたいと思う。 Layer Patterns The most common form of a ConvNet architecture stacks a few CONV-RELU layers, follows them with POOL layers, and repeats this pattern until the image has been mer…

CNNについて ④ 正規化層について How does Normalization Layer work

今回は正規化層 Normalization Layerについて書き留めようと思う。 岡谷貴之著の深層学習によると 自然画像を入力とする画像認識の問題では、入力画像の全体的な明るさやコントラストの違いをうまく吸収する必要があります。 画像がカメラで撮影される時カメ…

CNNについて ③ プーリング層について How does Pooling Layer Work

以前までの記事でConvolution Layerの振る舞い、畳み込み処理について書き留めた。 次はConvolution Layer の直後に処理として施されることがある、Pooling Layer プーリンング層についてポイントを書き留めたいと思う。 岡谷貴之著 深層学習の説明によると …

CNNについて ②

前回の記事で畳み込み、Convolutionがどのように行われるか書きました。 ある画像がInputとして与えられて、その一部分を見て、重みフィルターをかけて特徴を取り出す。 ここまではいい。 ここまでは理解できるんだが、、、 二層目以降の畳み込みの操作がわ…

CNNについて

今日書きたいのはConvolutional Neural Networkがどのように学習を進めるか? CNNの内部ではどのようなことが起きているかです 自分の中でCNNの中でどのように画像データが扱われているのか具体的なイメージが湧かなかったため一つ一つ整理していこうかと ま…

ガッキーでディープラーニングするために

ガッキーでディープラーニングするためにどうするかまずは知識をinputしようかなと StanfordのCS231nという授業をYouTubeで視聴を始めました Know How と同時にKnow Whyにこだわって勉強していこうかなと思います(Stanfordは無料で授業を公開するなんて太っ…

ガッキーでディープラーニングするためのブログ開設

けの〜です。 東京大学文科一類2年で、工学部システム創成学科知能社会システムコースという謎なところへ進学が内定してます。今取り組んでいることはデータサイエンスや教育の分野で、このブログはそこで得た知識などを書きとめようと思います。 僕には野望…