Showing posts with label neural network. Show all posts
Showing posts with label neural network. Show all posts

2016-11-12

[1611.01505] Improving Stochastic Gradient Descent with Feedback

https://arxiv.org/abs/1611.01505
We conduct experiments to compare the resulting algorithm, which we call Eve
勾配降下法の最適化アルゴリズム「Eve optimizer」の提案。

https://github.com/jayanthkoushik/sgd-feedback/blob/master/src/eve.py

著者による実装。

2015-12-24

robertsdionne/neural-network-papers · GitHub

https://github.com/robertsdionne/neural-network-papers
neural-network-papers

Table of Contents
    Other Lists
    Surveys
    Books
    Datasets
    Pretrained Models
    Programming Frameworks
    Learning to Compute
    Natural Language Processing
    Convolutional Neural Networks
    Recurrent Neural Networks
    Convolutional Recurrent Neural Networks
    Adversarial Neural Networks
    Autoencoders
    Restricted Boltzmann Machines
    Biologically Plausible Learning
    Supervised Learning
    Unsupervised Learning
    Reinforcement Learning
    Theory
    Quantum Computing
    Training Innovations
    Parallel Training
    Weight Compression
    Numerical Precision
    Numerical Optimization
    Motion Planning
    Simulation
    Hardware
    Cognitive Architectures
    Computational Creativity
    Cryptography
    Distributed Computing
    Clustering

Neural network paper list | Eniod's Blog

https://haduonght.wordpress.com/2015/12/23/neural-network-paper-list/
Based on https://github.com/robertsdionne/neural-network-papers

2015-10-30

[1510.04189] Improving Back-Propagation by Adding an Adversarial Gradient

http://arxiv.org/abs/1510.04189
A simple extension to the back-propagation method is proposed, that adds an adversarial gradient to the training.
ニューラルネットで、1パス目は重みを更新せずに誤差を計算して、2パス目はその誤差を加工した値を入力値に加算して通常の学習を行うというシンプルな手法で精度が上がるというもの。

Algorithm 1 だけでだいたい分かるが、
z = x + ε * sign(e)
で、x は1パス目の入力値、e は1パス目で計算した誤差、sign 関数は { +1, -1 } を返す関数、ε は揺らす大きさ(係数)、z は2パス目の入力値となる。
As stated in Goodfellow et al. (2014) and Fawzi et al. (2015), adding adversarial perturbations is quite different from adding input noise. Adding noise will direct the model to increase the margin in all possible directions around the training samples. A model has limited capacity, and this may limit the achievable margin in the directions that matters most, where the margins are smallest.
モデルの表現力には限界がある。ノイズを加える手法は不要な方向にもマージンを大きくしてしまうのが問題だが、adversarial perturbations はそれとは違うということが記述されている。

2015-10-28

[1409.2329] Recurrent Neural Network Regularization

http://arxiv.org/abs/1409.2329
We present a simple regularization technique for Recurrent Neural Networks (RNNs) with Long Short-Term Memory (LSTM) units. Dropout, ...
LSTM に dropout を適用するには、リカレント(同じ層の1つ前の時間ステップ)の隠れユニットに適用するのではなく、入力(または1つ下の層の隠れユニット)に対して適用するとよいという話。

Figure 2 と p3 の下の式の太字 D の箇所を参照するとよい。

2015-10-26

[1510.02693] Feedforward Sequential Memory Neural Networks without Recurrent Feedback

http://arxiv.org/abs/1510.02693

feedforward sequential memory networks (FSMN), which can learn long-term dependency without using recurrent feedback.
提案されている FSMN は、非再帰形ディジタルフィルタと同じ型のネットワークのようだ。

Table 2 のアーキテクチャでは、メモリブロック付きの隠れ層素子数は 600 とあるが、30 次の FIR フィルタということは 30 * 600 = 18k となるわけで、計算量が多すぎるのではないだろうか。また、隠れ層の数も各手法で異なっており、性能比較が妥当かどうか疑問である。

なお、非再帰形ディジタルフィルタについては次のページを参考されたい。

ディジタルフィルタとz変換
http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/basic/chap10/index.htm

2015-10-25

[1510.03009] Neural Networks with Few Multiplications

http://arxiv.org/abs/1510.03009
First we stochastically binarize weights
Second, while back-propagating error derivatives, in addition to binarizing the weights, we quantize the representations at each layer to convert the remaining multiplications into binary shifts.
次の2つの手法により乗算を減らす。
  1. binary connect (2値結合) / ternary connect (3値結合)
  2. quantized back propagation (量子化誤差逆伝搬法)
(1) 重みを確率変数とみなし、2値 {-1, 1} (binary connect) または 3値 {1, 0, -1} (ternary connect) にサンプリングした重み行列で計算する。これにより内積を乗算ではなく加減算で計算できる。

(2) 誤差逆伝搬時の重み更新量 ΔW を計算するときに、入力値 x を確率的に量子化することで、乗算を使わずにシフト演算で計算する。
具体的には、x = 5 の場合、log_2(5) = 2.32... を切り下げて 2 なので、シフト量は 0.75 の確率で 2 となり、0.25 の確率で 3 となる。よって、ΔW = δ << 2 (または δ << 3) として計算できる (δは誤差項)。シフト量は -4~3 の範囲に収まるようにクリッピングする。

論文からは (2) の quantized back propagation の方法がよく分からなかったので、第一著者のソースコードを参照した。

Zhouhan Lin (第一著者) のソースコードは次のアドレスにある。
https://github.com/hantek/binary_conv/blob/master/matcode/layer_m.py

精度が若干向上している(正則化のような効果が出ている)のは、確率的に重みや(重み更新時の)入力値が揺れているためではないかと思われる。つまり、ノイズを混ぜているのに似ているではないだろうか。

2015-09-17

Études in Programming Intelligence: IRNN vs LSTM

http://etudes-in-pi.blogspot.jp/2015/07/irnn-vs-lstm.html
IRNN と呼ばれる RNN がこの論文で提案された。論文内で行われた MNIST のデータを使った実験の設定を少し変えたものを Keras を使って実装してみた。それのプルリクエストを作成したところ、フランソワから LSTM との比較も行ってみては?と言われたのでやってみた。この投稿はその結果になる。

2015-07-11

[1507.02030] Beyond Convexity: Stochastic Quasi-Convex Optimization

http://arxiv.org/abs/1507.02030
The Normalized Gradient Descent (NGD) algorithm, is an adaptation of Gradient Descent, which updates according to the direction of the gradients, rather than the gradients themselves.
ざっと眺めただけだが、通常はニューラルネットの重みの更新に勾配を使うが、NGD では勾配の向きによって重みを±学習率だけ更新させるという方法で学習する(アルゴリズム1)。ただし、ミニバッチ数を増やす必要がある(図2(c))。

2015-05-26

The Unreasonable Effectiveness of Recurrent Neural Networks

http://karpathy.github.io/2015/05/21/rnn-effectiveness/
We'll train RNNs to generate text character by character and ponder the question "how is that even possible?"

2015-04-08

[1504.00941] A Simple Way to Initialize Recurrent Networks of Rectified Linear Units

http://arxiv.org/abs/1504.00941
In this paper, we propose a simpler solution that use recurrent neural networks composed of rectified linear units.
Key to our solution is the use of the identity matrix or its scaled version to initialize the recurrent weight matrix.
再帰ネットに ReLU (rectified linear units) を使って長期の時間的構造を学習する。

2015-03-31

Unsupervised Feature Learning and Deep Learning Tutorial

http://ufldl.stanford.edu/tutorial/
Description: This tutorial will teach you the main ideas of Unsupervised Feature Learning and Deep Learning.
ディープ・ラーニングだけではなく、多層ニューラルネットなどの基礎技術の解説もある。

2015-03-18

Long short term memory - Wikipedia, the free encyclopedia

http://en.wikipedia.org/wiki/Long_short_term_memory
Long short term memory (LSTM) is a recurrent neural network (RNN) architecture

[1503.04069] LSTM: A Search Space Odyssey

http://arxiv.org/abs/1503.04069
  • The most commonly used LSTM architecture (vanilla LSTM) performs reasonably well on various datasets and using any of eight possible modifications does not significantly improve the LSTM performance.
  • Certain modifications such as coupling the input and forget gates or removing peephole connections simplify LSTM without significantly hurting performance.
  • The forget gate and the output activation function are the critical components of the LSTM block. While the first is crucial for LSTM performance, the second is necessary whenever the cell state is unbounded.

2015-03-15

[1412.6980] Adam: A Method for Stochastic Optimization

http://arxiv.org/abs/1412.6980
We introduce Adam, an algorithm for first-order gradient-based optimization of stochastic objective functions.

2014-08-24

CIFAR-10でstate of the artのスコアが出せる、インターネットに落ちている中で最強のコード - デー

http://ultraist.hatenablog.com/entry/2014/08/23/025614
CIFAR-10のstate of the artである0.912を微妙に超える精度(0.9173)が出せるようになったのでソースコードを公開します。