Skip to main content
QUICK REVIEW

[論文レビュー] Neural Arithmetic Logic Units

Andrew Trask, Felix Hill|arXiv (Cornell University)|Aug 1, 2018
Neural Networks and Applications被引用数 80
ひとこと要約

本論文では Neural Accumulator (NAC) および Neural Arithmetic Logic Unit (NALU) を導入する。これらは差分可能なモジュールで、ニューラルネットを体系的な数値計算へ偏らせて外挿を改善する。合成データ、画像、言語、コード、強化学習タスクで実証。

ABSTRACT

Neural networks can learn to represent and manipulate numerical information, but they seldom generalize well outside of the range of numerical values encountered during training. To encourage more systematic numerical extrapolation, we propose an architecture that represents numerical quantities as linear activations which are manipulated using primitive arithmetic operators, controlled by learned gates. We call this module a neural arithmetic logic unit (NALU), by analogy to the arithmetic logic unit in traditional processors. Experiments show that NALU-enhanced neural networks can learn to track time, perform arithmetic over images of numbers, translate numerical language into real-valued scalars, execute computer code, and count objects in images. In contrast to conventional architectures, we obtain substantially better generalization both inside and outside of the range of numerical values encountered during training, often extrapolating orders of magnitude beyond trained numerical ranges.

研究の動機と目的

  • ニューラルネットワークにおける訓練範囲を超えた体系的な数値外挿の必要性を動機付ける。
  • 表現を算術演算へ偏らせるアーキテクチャ(NAC と NALU)を提案する。
  • 複数のドメイン(合成、ビジョン、言語、プログラム実行、RL)で外挿一般化の改善を実証する。
  • NAC/NALU で標準の線形層を置換することで数値推論タスクで顕著な向上を得られることを示す。

提案手法

  • Neural Accumulator (NAC) を制約付き線形層として定義し、W = tanh(What) * sigma(Mhat) により入力量が再スケーリングなしに加算/減算で写像されるよう促す。
  • NAC を Neural Arithmetic Logic Unit (NALU) に拡張し、学習可能なゲート g を介して加算/減算の NAC と乗算/除算の NAC を組み合わせ、算術関数(加算、減算、乗算、除算、べき乗)を可能にする。
  • 数値操作を要するタスクでのバックプロパゲーションによるエンドツーエンド学習(教師ありおよび強化学習信号の両方を使用)。
  • NAC/NALU をさまざまなアーキテクチャ(フィードフォワード、LSTM ベース、RL エージェント)に適用し、訓練範囲を超えた外挿と一般化を検証する。

実験結果

リサーチクエスチョン

  • RQ1NAC および NALU はニューラルネットワークを訓練範囲を超えた数値的外挿へと導くことができるか?
  • RQ2NAC/NALU は合成、ビジョン、言語、コード、RL など多様なモダリティで算数能力のバイアスを提供し、算術推論を改善するか?
  • RQ3最後の線形層を NAC/NALU に置換することで、数値関連タスク(数える、数詞の翻訳、プログラム評価)で性能が向上するか?
  • RQ4NALU による乗算能力は NAC による加算能力と比較してタスク間でどのように異なるか?
  • RQ5NAC/NALU は数値推論を正確に要するタスクのエンドツーエンド学習(バックプロパゲーション)をサポートできるか?

主な発見

  • NAC は堅牢な加算/減算計算を可能にし、標準的な線形/MLP ベースラインより外挿を改善する。
  • NALU はゲートを介して乗算/除算能力を追加し、乗算的な関数の外挿も可能にする。
  • 合成算術、MNIST のカウント、言語から数値への翻訳、プログラム評価、グリッド世界の時間追跡といったタスク全般で、NAC/NALU は訓練範囲をはるかに超えた外挿を示す(しばしば何桁ものオーダーの上回り)。
  • MNIST 偶奇性において、NAC/NALU は prior linear-layer ベースラインと比較して誤差を顕著に減少させ、NAC/NALU は強力な補間性能も提供する。
  • 最後の線形層を NAC/NALU に置換することで substantial な性能向上をもたらす可能性があることを示し、数値的に偏ったアーキテクチャ要素の利点を実証する。
  • RL では、NAC 対応の制御が時刻追跡タスクの外挿を改善する可能性を示し、教師あり設定を超えた数値的バイアスモジュールの有用性を示唆する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。