0

時系列データに対するDeep Neural Networks

今後必要になってくるはずなのでまとめてみる.

  • Recurrent Neural Network (回帰結合ニューラルネットワーク):
    • 時系列データを扱うNN.
    • 隠れ層の出力が2種類: 次の層へつながる出力,自身につながる出力
    • Back Propagation Through Time (BPTT): 自身につながる出力を持つ隠れ層に対する学習方法
  • Long Short-Term Memory (LSTM) [1]:
    • RNNにおける勾配消失問題を解決するために特殊な隠れ層(ノード)を導入
      = 隠れ層を簡略化 -> 長期依存(Long-Term Dependencies)が可能
    • 再帰入力を受け付けるノードに対して恒等関数の活性化関数を使う
    • 再帰入力に関する重み行列を単位行列に固定
    • 時間方向の影響を単純な加算でしか与えられない
      = 補助的なゲートノード,判断ノードを導入.複数ノードの集合体を1つのメモリセルとして扱う
      = 簡略化されたノードで高い表現力
  • Connectionist Temporal Classification:
    • RNN, LSTMにおける「入力,出力の次元数が等しい」制約を解決
    • 空白ラベル’_’を導入
  • Sequence-to-sequence Learning
  1. S. Hochreiter and J. Schmidhuber, “Long Short-Term Memory.”  Neural Computation, Vol. 9, No. 8, pp. 1735-1780, 1997.
  • Keras.layers.LSTM
    • 入力ベクトルの次元数を揃える必要がある?
      −> keras.preprocessing.sequence.pad_sequencesを使ってパディングする
0

TensorFlowで学ぶディープラーニング入門~畳み込みニューラルネットワーク徹底解説

TensorFlowで学ぶディープラーニング入門~畳み込みニューラルネットワーク徹底解説
中井 悦司
マイナビ出版

内容: こんな人におすすめ:機械学習、データ分析の専門家ではないけど興味がある、ディープラーニングのアルゴリズムがどうなっているのか知りたい、TensorFlowの公式サンプルコードだけでは、どう使っていいかわからない。TensorFlowを実際に動かしながら、「畳み込みニューラルネットワーク」の仕組みを理解しよう! (Amazonより)

0

Implementation: CycleGAN and Pix2pix

The implementation of CycleGAN and Pix2pix based on pytorch is published on github. Here’s a todo procedure with anaconda.

The CPU mode installation is under test right now…

  1. pytorch installation
    1. see the repository
    2. For a machine with GPU
      1. conda install -c conda-forge dominate
      2. conda install pytorch torchvision cuda80 -c soumith
    3. For a machine without GPU
      1. export enviroment variable NO_CUDA=1
      2. add anaconda root directory to CMAKE_PREFIX_PATH as
        export CMAKE_PREFIX_PATH=[anaconda root directory]
      3. conda install numpy pyyaml mkl setuptools cmake gcc cffi
      4. git clone https://github.com/pytorch/pytorch.git
      5. cd pytorch/
      6. python setup.py install
      7. cd ..
      8. git clone https://github.com/pytorch/vision.git
      9. cd vision
      10. python setup.py install
  2. CycleGAN and pix2pix installation
    1. conda install -c conda-forge dominate
    2. git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
    3. cd pytorch-CycleGAN-and-pix2pix

Note that running train.py and test.py without GPU requires to disable GPU via command line such as –gpu_id -1. For instance:
– With GPU: python train.py –dataroot ./datasets/facades –name facades_pix2pix –gpu_ids 0 –model pix2pix –align_data –which_direction BtoA
– Without GPU: python train.py –dataroot ./datasets/facades –name facades_pix2pix –gpu_ids -1 –model pix2pix –align_data –which_direction BtoA

0

Keras: multiple inputs & outputs

from keras.models import Model
from keras.layers import Input, Dense

input_1 = Input(..., name='input_1')
x = Dense(...)(input_1)
x = Dense(...)(x)
...
output_1 = Dense(dim_output_1, ..., name='output_1')

input_2 = Input(..., name='input_2')
x = keras.layers.concatenate([output_1, input_2])
x = Dense(...)(x)
x = Dense(...)(x)
x = Dense(...)(x)
output_2 = Dense(dim_output_2, ..., name='output_2')(x)

model = Model(inputs=[input_1, input_2],
              outputs=[output_1, output_2])
model.compile(...,
    loss={'output_1': 'binary_crossentropy',
          'output_2': 'binary_crossentropy'},
    loss_weights={'output_1': weight_1.,
                  'output_2': weight_2})
model.fit({'input_1': data_input_1,
           'input_2': data_input_2},
          {'output_1': data_output_1,
           'output_2': data_output_2},
          ...)
0

keras installation on ubuntu 16.04 with CUDA and cuDNN

  1. install CUDA
    download cuda-repo-ubuntu1604_8.0.44-1_amd64.deb from here

    1. sudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
    2. sudo apt-get update
    3. sudo apt-get cuda
  2. update path settings
    add the following lines at the end of ~/.bashrc and type “source ~/.bashrc” on terminal.

    1. # for CUDA and cuDNN
    2. export PATH=/usr/local/cuda-8.0/bin:$PATH
    3. export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
  3. install cuDNN
    download cuDNN package from here

    1. tar xzvf cudnn-8.0-linux-x64-v5.1.tgz
    2. sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/
    3. sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/
    4. sudo ldconfig
  4. install theano
    pip install –upgrade –no-deps git+https://github.com/Theano/Theano.git

    1. create ~/.theanorc and write down the following lines
      [global]device = gpu
      floatX = float32

      [nvcc]
      flags=-D_FORCE_INLINES

      [cuda]
      root = /usr/local/cuda-8.0

  5. install keras
    pip install –upgrade –no-deps git+https://github.com/fchollet/keras.git

If python outputs any tensorflow-related warning, edit backend information in ~/.keras/keras.json from tensorflow to theano.

0

Keras deep learning library installation on Windows

Keras, which works with either TensorFlow or Theano, is a library for using deep learning in Python.

# step 1 prepare for the installation
conda update conda
conda update anaconda
conda update --all
conda install mingw libpython
# step 2 update theano
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
# step 3 install keras
pip install git+git://github.com/fchollet/keras.git

If the last command doesn’t work, try the following command instead,

pip install --no-deps git+https://git@github.com/Theano/Theano.git