ディープラーニング∞本(?)ノックぅぅ
まだ作成中なのであしからず
何問になるか分からないので∞本になってます。多分これからいろんな技術が出るからどんどん更新する予定でっす。 これはイモリと一緒にディープラーニングの基礎からDLのライブラリの扱い、どういうDLの論文があったかを実装しながら学んでいくための問題集です。本とか論文読んだだけじゃ机上の空想でしかないので、ネットワークの作成や学習率などのハイパーパラメータの設定を自分の手を動かしながら勉強するための問題集です。
問題集として使ってもテンプレやチートシートとして使っても使い方は自由です!!!!
僕が研究室で3年修行してディープラーニングで必要そうだなーと思ったものを集めてます。
例えば研究してて提案手法を急にKerasでやればとか簡単に言うけどそんなすぐにできるかいってよくあると思うんだけどそういうのにもすぐ対応できる力を身につけるためのものだとも思ってます。
- 内容はいろいろな文献を調べて載っけてるので正しくないものもあるかもしれないので注意して下さい。もし間違ってたらプルリク下さい笑
- 【注意】このページを利用して、または関して生じた事に関しては、私は一切責任を負いません。 すべて 自己責任 でお願い致します。
- コードの書き方は私の趣向がけっこう出てるので、この書き方キモってなったら自分の書き方でやっていってください。答えはあくまで参考です。FWによってチョクチョク実装に小さな違いがあるのでそこはご愛嬌
- なんとなく本とか買わずにDLを勉強したいーーーって人向けだと思う
画像処理ノックはこっち
- 2019.5.2 [データセット準備]Cifar10、[AutoEncoder, ConvAutoEncoder, GAN, DCGAN]Cifar10を追加
- 2019.3.31 [画像認識モデル]APIを追加
- 2019.3.19 [Pytorch][Chainer] GAN, DCGANを追加
- 2019.3.17 Pooling layerを追加したけど、あとからクラス化と学習を追加する予定
- 2019.3.17 seq2seq, convolutional layer を追加
- 2019.3.16 ニューラルネットをクラス化 を追加
- 2019.3.13 パーセプトロン系を追加
- 2019.3.12 AutoEncoder, ConvAutoEncoder, パーセプトロンを追加
- 2019.3.9 GAN, DCGANを追加
- 2019.3.6 RNN, LSTM, BDLSTMを追加
- 2019.3.5 AutoEncoder, RNNを追加
- 2019.3.4 データ拡張・回転を追加
- 2019.3.3 UNetを追加
Python-3.6でやって下さい。(解答はPython-3.6で用意してます)
https://conda.io/miniconda.html のサイトからMinicondaをインストールします。これはWindowでもMacOSでも可能です。Minicondaがインストールできたら、端末(Windowでは端末、MacOSではターミナル)を開き、以下コマンドで仮想環境を作成します。もしくはGoogle colabolatoryを使って見て下さい。GPUが使えます。
$ conda create python=3.6 -n dlmugenknock
作成できたら、以下コマンドで仮想環境を動作します。
$ source activate dlmugenknock
するとこうなります。
(dlmugenknock) :~/work_space/DeepLearningMugenKnock/ :$
gitをインストールします。そして、端末を開いて、以下のコマンドを実行します。このコマンドでこのディレクトリを丸ごと自分のパソコンにコピーできます。
$ git clone https://github.com/yoyoyo-yo/DeepLearningMugenKnock.git
以下のコマンドで必要なパッケージをインストールします。これで準備は完了です!!
$ pip install -r requirements.txt
PyTorch | Tensorflow | Keras | Chainer | Caffe | |
---|---|---|---|---|---|
入力 | [mb,c,h,w] | [mb, h, w, c] | [mb, h, w, c] | [mc, c, h, w] | [mb, c, h, w] |
教師ラベル | index [mb] | onehot [mb, cls] | onehot [mb, cls] | index [mb] | index [mb] |
速度 | まあまあ早い | 早い | 早い | 普通 | まあまあ早い? |
how to | ✓ | ✓ | ✓ | ✓ | ✓install(Docker) ✓install(Native) |
sample | ✓ | ✓(slim) ✓(layers) ✓(raw) |
✓ | ✓ |
詳細な問題内容は各ディレクトリのREADMEにあります。(ディレクトリで下にスクロールすればあります)
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
1 | パーセプトロン AND | |||
2 | パーセプトロン 学習 | |||
3 | パーセプトロン 収束性 | |||
4 | パーセプトロン Sigmoid | |||
5 | パーセプトロン バイアス | |||
6 | パーセプトロン OR | |||
7 | パーセプトロン NOT | |||
8 | パーセプトロン XOR | |||
9 | 多層パーセプトロン FeedForward | |||
10 | 多層パーセプトロン 学習 | |||
11 | 更に多層パーセプトロン | |||
12 | ニューラルネットのクラス化 |
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
13 | 画像認識 | |||
14 | 誤差関数 | |||
Sigmoid Cross Entropy | ||||
Convolutional Layer | ||||
Padding | ||||
Stride | ||||
Max-pooling layer | ||||
Average-pooling layer |
番号 | 問題 | 番号 | 問題 | |
---|---|---|---|---|
1 | データセットの読み込み | |||
2 | ミニバッチの作成 | |||
3 | イテレーション・エポック | |||
4 | データ拡張・水平反転 | |||
5 | データ拡張・上下反転 | |||
6 | データ拡張・回転 | |||
CIFAR-10 Step.1 ダウンロード | ||||
CIFAR-10 Step.2 学習データの読み込み | ||||
CIFAR-10 Step.Final テストデータの読み込み |
問題 | PyTorch | TensorFlow | Keras | Chainer |
---|---|---|---|---|
API | ✓ | |||
LeNet | ✓ | ✓ | ✓ | ✓ |
AlexNet | ✓ | ✓ | ✓ | ✓ |
ZFNet | ✓ | ✓ | ✓ | ✓ |
Global Average Pooling | ✓ | ✓ | ✓ | ✓ |
Network in network | ✓ | ✓ | ✓ | ✓ |
VGG16 | ✓ | ✓ | ✓ | ✓ |
VGG19 | ✓ | ✓ | ✓ | ✓ |
モデルの書き方の簡潔化 | ✓ | ✓ | ✓ | ✓ |
GoogLeNet | ||||
Batch Normalization | ✓ | ✓ | ✓ | ✓ |
問題 | PyTorch | TensorFlow | Keras | Chainer |
---|---|---|---|---|
AutoEncoder | ✓ | ✓? | ✓ | ✓ |
AutoEncoder cifar10 | ✓ | ✓ | ✓ | ✓ |
ConvolutionalAutoEncoder | ✓ | ✓? | ✓ | ✓ |
ConvolutionalAutoEncoder cifar10 | ✓ | ✓ | ✓ | ✓ |
GAN | ✓ | ✓ | ✓ | |
GAN cifar10 | ✓ | ✓ | ✓ | |
DCGAN | ✓ | ✓ | ✓ | |
DCGAN cifar10 | ✓ | ✓ | ✓ |
問題 | PyTorch | TensorFlow | Keras | Chainer |
---|---|---|---|---|
1 hotベクトル化 | ✓ | |||
RNN (Many-to-one) Step.1. 学習 | ✓ | ✓ | ✓ | |
RNN (Many-to-one) Step.2. テスト | ✓ | ✓ | ✓ | |
LSTM (Many-to-one) | ✓ | ✓ | ✓ | ✓ |
Bi-directional LSTM (Many-to-one) | ✓ | ✓ | ✓ | ✓? |
GRU (Many-to-one) | ✓ | ✓ | ✓ | ✓ |
Seq2seq (Many-to-many) | ✓ |
@article{yoyoyo-yoDeepLearningMugenKnock,
Author = {yoyoyo-yo},
Title = {DeepLearningMugenKnock},
Journal = {https://github.com/yoyoyo-yo/DeepLearningMugenKnock},
Year = {2019}
}
© Yoshito Nagaoka All Rights Reserved.
This is under MIT License.
https://github.com/yoyoyo-yo/DeepLearningMugenKnock/blob/master/LICENSE