第34回 全脳アーキテクチャ勉強会

算術課題における外挿能⼒の測定
2022年5⽉11⽇
株式会社アラヤ
藤澤 逸平

2DALL·E 2© 2022 ARAYA Inc.

A bowl of soup that is a portal to another dimension as digital art

https://openai.com/dall-e-2/3https://openai.com/blog/openai-codex/

45Pathways Language Model (PaLM)“PaLM: Scaling Language Modeling with Pathways,” [arXiv:2204.02311v1]

6

Pathways Language Model (PaLM)“PaLM: Scaling Language Modeling with Pathways,” [arXiv:2204.02311v1]

7

Pathways Language Model (PaLM)

Model Output: 時速300マイルは時速約480kmです。これは⺠間航空機の速度とほぼ同じです。雲は通常、⾶⾏機の下にあるので、ジェニファーはおそらく⾶⾏機に乗っている。答えは「はい」である。
(DeepLで翻訳)“PaLM: Scaling Language Modeling with Pathways,” [arXiv:2204.02311v1]© 2022 ARAYA Inc.

Input: ジェニファーが窓の外を⾒ると、眼下にとても素敵な雲が広がっています。
彼⼥はシートベルトを外し、トイレに向かいます。ジェニファーはおそらく地球に対して時速300マイル以上⾛っているのだろうか？

8今⽇話したいこと• 深層学習で、できることは増えてきた。
• ⼀部のタスクでは⼈間をも凌駕している。
• しかし、できないこともいろいろある。
• その中から、次に解けそうな課題について考えたい。

© 2022 ARAYA Inc.

• 算術課題やその類を解くことを考えると、次のアーキテクチャ開発につながるのではないか。

今⽇話したいこと• 深層学習で、できることは増えてきた。
• ⼀部のタスクでは⼈間をも凌駕している。
• しかし、できないこともいろいろある。
• その中から、次に解けそうな課題について考えたい。

1. 深層学習では何ができないか？
2. 何故、算術課題か？
3. 算術課題とは、どんな問題設定なのか？
4. どんなシステムを開発できたら嬉しいのか？
5. 算術課題周辺で、これまでにどんな研究がなされているのか？
6. どんな⽅法で解けそうか？

© 2022 ARAYA Inc.

• 算術課題やその類を解くことを考えると、次のアーキテクチャ開発につながるのではないか。

現状の深層学習に⾜りない点はなにか？

© 2022 ARAYA Inc.

• “意味”を扱えない• “意味”を分かって予測しているわけではない• 予測の不安定さ• ⼈間による予測のようなロバスト性がない• 筋の良い外挿ができない• 訓練には⼤量のデータが必要• ⽬的を⾃分で設定できない• あとから発⽣したタスクに対応できない• 複数の⽬的をうまくバランスさせることが難しい• 過去に学んだ知識の再利⽤が難しい• 明⽰的な記憶構造がない• 他のモデルの経験を流⽤することが難しい

11データとモデルの⼤規模化 (GPT-3)• 近年の深層学習の発展の帰結の1つ「⼤規模なモデルを⼤量のデータで訓練すると⾼精度」• GPT-3は1,000億以上のパラメタ数。訓練データは570GBを超える。

••

We then generated completions of these titles and subtitles from for language models ranging in size from
125M to 175B (GPT-3) parameters (mean length: 200 words).
[...]
Table 2.2 shows the final mixture of datasets that we used [...] and 570GB after filtering, roughly equivalent to400 billion byte-pair-encoded tokens.

“Language Models are Few-Shot Learners,” Brown, T. B., et al. (2020) [arXiv:2005.14165]© 2022 ARAYA Inc.

•

12

データとモデルの⼤規模化 (GPT-3の精度)“Language Models are Few-Shot Learners,” Brown, T. B., et al. (2020) [arXiv:2005.14165]© 2022 ARAYA Inc.

• モデルのパラメタ数を増やすことで、精度が向上する。

13

データとモデルの⼤規模化では不⼗分 (GPT-3の算術課題の精度)
GPT-3の論⽂では、10種類の初等算術に対して、few-shot, zero-shotで問題を解かせている。
ここでもパラメタ数が⼤きいモデルの精度が⾼い。
最も⼤きいモデルでは、2桁の⾜し算は100%の精度で実⾏可能。
しかし、その他のタスクは必ずしも⾼精度とはいえない。

“Language Models are Few-Shot Learners,” Brown, T. B., et al. (2020) [arXiv:2005.14165]© 2022 ARAYA Inc.

•••
•

14

⾜し算（初等算術）が難しい理由• 初等算術が難しい理由として、定性的には以下のものが考えられる。
• マルチステップの演算を要する。
• 厳密な処理の適⽤が求められる。
• データが無限に存在する。

• ⼀⽅で、⼈間は適切に学習することで、これらの処理をできるようになる。
• 特に、⾮常に⼤きな数、例えば100桁の数字に対する計算も遂⾏できる。

30214528105242105108521095210952 + 950211190561895206696906822814 = ?

© 2022 ARAYA Inc.

582109610649068213122490046840 × 6741671349368490896390860926 = ?

15[ref] Mathematics Dataset

•
•
•
•

この分野でよく⽤いられるデータセットの1つ。
右下に⽰したような、⾃然⾔語と数式で記述されるQuestion, Answerのペアからなるデータセット。
さまざまな算術課題のModuleを⽣成するジェネレータを提供。
pre-generated datasetとしてtrain-easy, train-medium, train-hard,interpolation, extrapolationの5つのデータセットも提供。
各moduleごとに、2Mのpairを⽤意。
基本的なアーキテクチャ (LSTM/RMC, AttentionalTransformer)をベースラインとして⽤意。

LSTM/RMC,Modules•

algebra (linear equations, polynomial roots, sequences)•••arithmetic (pairwise operations and mixed expressions, surds)
calculus (diﬀerentiation)comparison (closest numbers, pairwise comparisons, sorting)••measurement (conversion, working with time)numbers (base conversion, remainders, common divisors and multiples,••

primality, place value, rounding numbers)
polynomials (addition, simpliﬁcation, composition, evaluating, expansion)
probability (sampling without replacement)

ExamplesModel Accuracy

Question: Solve -42*r + 27*c = -1167 and 130*r + 4*c = 372 for r.
Answer: 4
Question: Calculate -841880142.544 + 411127.
Answer: -841469015.544
Question: Let x(g) = 9*g + 1. Let q(c) = 2*c + 1. Let f(i) = 3*i - 39. Let w(j) = q(x(j)).
Calculate f(w(a)).
Answer: 54*a - 30
Question: Let e(l) = l - 6. Is 2 a factor of both e(9) and 2?
Answer: False
Question: Let u(n) = -n**3 - n**2. Let e(c) = -2*c**3 + c. Let l(j) = -118*e(j) + 54*u(j).
What is the derivative of l(a)?
Answer: 546*a**2 - 108*a - 118
Question: Three letters picked without replacement from qqqkkklkqkkk. Give prob ofsequence qql.
Answer: 1/110© 2022 ARAYA Inc.

••

16•
•

両図は各モデルの各moduleにおける精度を⽰したもの。
右図がinterpolationに対して、左図がextrapolationに対しての精度。

•

この論⽂ではInterpolation, Extrapolationを数字の⼤きさや、⻑さなど、様々な軸について⽤意をしてはいる。しかし、多様性をもたせている分、その定義は必ずしも明確ではないとも⾔える。

© 2022 ARAYA Inc.

[ref] Mathematics Dataset

17我々の注⽬する算術課題とは• 前掲のMathematics datasetのように⼀通りの初等算術データセットは既に提案されている。
• 我々の⽬的からすると、⼀旦は四則演算など、⾮常に単純なものでよい。
• 以降の議論では特に、⾜し算を念頭に置いている。

ちなみに• 定理証明や微積分などの⾼等数学への拡張など、問題をより難化させる⽅向の研究がある。
• それらの難化した数学課題に対するモデルの研究もされている。

© 2022 ARAYA Inc.

ここではスコープ外。
難しい問題を解くこと、それ⾃体を⽬標としているわけではない。（詳細は後述）

算術課題に取り組むことは何故重要か？
• モデルとデータの⼤規模化だけでは達成できそうにないこと
既に⽰した通りGPT-3でも、PaLMでも解けているわけではない。
• 具体的な課題を⽤意することで、問題がクリアになると期待できること
汎⽤⼈⼯知能を作りたいと思っても、具体的な課題なしでは抽象的な議論に留まりがち。
• 深層学習で、この⼿の問題を解決できないと思われる特別な理由はないこと
Connectionismを思えば、ニューラルネットで解けてもよいのではないか。

新たなアーキテクチャ開発の⼿がかりとなるのではないか© 2022 ARAYA Inc.

• 画像認識など多くのタスクで、論理的処理の援⽤は有⽤であること
算術に限らない範囲で機能する良い帰納バイアスを⾒つけられれば、さまざまなタスクで説明可能性の向上が期待できる19

⾜し算は本当に解けないのか？
ところで、⾜し算は本当に解けないのか？
そんなことはない。例えば、四則演算を実⾏するプログラムを直接実装すればよい。
ニューラルネットを⽤いるアプローチにおいてもさまざまな研究が⾏われている。

•⼤規模データ&モデルのアプローチでMathematics datasetのExtrapolationにおいて、ある程度⾼い精度は達成可能。 [arXiv:2010.14701]
計算過程を直接、教師ラベルとして与えることで、汎化性のあるモデルが得られる。[arXiv:2112.00114]
複数ステップで解く問題を強化学習の課題とみなす。環境を定義し、階層型強化学習とカリキュラム学習でモデルを訓練することで、汎化性のあるモデルが得られる。[arXiv:1809.08590]
T5(Transformer)でも、⼊⼒の表現を⼯夫することで、60桁程度までの⾜し算・引き算は⾏えるようになった。50桁程度の数字で訓練することで、60桁までの外挿もある程度は可能になった。[arXiv:2102.13019]

しかし、これらの多くの研究では、ドメイン特化のモジュールが導⼊されている。
つまり開発者の知識によって、タスクを部分的に解いているともいえる。
⼈間がドメインに応じて対応するのではなく、 種々のタスクが与えられたときに、データから学ぶなどして、⾃律的に解決するようなシステムが望ましい。

© 2022 ARAYA Inc.

•••20そもそも何ができたら⾜し算ができたと⾔えるのか？

1から5(部分的に6,7)は、汎化性能の問題、つまり外挿領域で⾼い精度で予測できるかという問題といえる。
9から12(部分的に6, 7)は、説明可能性を備えているかどうかを重視している。

© 2022 ARAYA Inc.

1. ⼤量のデータで、データを与えた範囲に限って解くことができる。数％の間違いは許容する。
2. ⼤量のデータで、データを与えた範囲に限って解くことができる。数％の間違いも許容しない。
3. 少量のデータで、データを与えた範囲に限って解くことができる。
4. ⼤量のデータで、データを与えた範囲を超えて解くことができる。数％の間違いは許容する。
5. ⼤量のデータで、データを与えた範囲を超えて解くことができる。数％の間違いは許容しない。
6. ⼤量のデータで、データを与えた範囲を超えて解くことができる。理屈のつく間違いのみ許容する。
7. 少量のデータで、データを与えた範囲を超えて解くことができる。理屈のつく間違いのみ許容する。
8. ・・・
9. ⼈間にとって馴染みのある⽅法で解くことができる。
10. 課題解決の過程を閲覧できる。
11. 課題解決の過程をシステムが説明できる。
12. 数の⼤⼩の理解や、数の概念を形成し、⾃分が何を⾏っているかを認識しながら解くことができる。
13. ・・・

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。

© 2022 ARAYA Inc.

••

22

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
内挿領域では解けていると思える。
データをどんどん増やして、実際に現れる範囲のデータを⼗分尽くすことができれば、解けているとも思える。

© 2022 ARAYA Inc.

•
•

23

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。

© 2022 ARAYA Inc.

••

24

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。

© 2022 ARAYA Inc.

•
•

25

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。
有限個のデータで、無限個のテストデータにおいて⾼い精度で予測するのは原理的にできないのでは？
そもそも、訓練データ外でのデータの振る舞いは規定されていないのでは。
有限個の⼊出⼒ペアだけから、すべての整数に対する⾜し算の関係は普通は定まらない。
⼈間は何故できるのか。具体例の丸暗記ではなく、⾃然⾔語などによって⾜し算を規定している。
それらのルールを適⽤することで、⾒たことのない⼤きな数字についても”正しく”計算できる。

© 2022 ARAYA Inc.

•
•

26

算術課題はどうして解けないか••

指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。
有限個のデータで、無限個のテストデータにおいて⾼い精度で予測するのは原理的にできないのでは？
そもそも、訓練データ外でのデータの振る舞いは規定されていないのでは。
有限個の⼊出⼒ペアだけから、すべての整数に対する⾜し算の関係は普通は定まらない。

•指摘2：⼈間は必ずしも⼊出⼒のペアだけから解いているわけではないだろう。⼈間でも、その問題設定なら外挿はできないのではないか。

•応答2：そうかもしれない。そうだとすると、機械学習のタスクの枠組みを変更する必要があるかもしれない。

© 2022 ARAYA Inc.

⼈間は何故できるのか。具体例の丸暗記ではなく、⾃然⾔語などによって⾜し算を規定している。
それらのルールを適⽤することで、⾒たことのない⼤きな数字についても”正しく”計算できる。

27

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。
有限個のデータで、無限個のテストデータにおいて⾼い精度で予測するのは原理的にできないのでは？
そもそも、訓練データ外でのデータの振る舞いは規定されていないのでは。
有限個の⼊出⼒ペアだけから、すべての整数に対する⾜し算の関係は普通は定まらない。
⼈間は何故できるのか。具体例の丸暗記ではなく、⾃然⾔語などによって⾜し算を規定している。
それらのルールを適⽤することで、⾒たことのない⼤きな数字についても”正しく”計算できる。
⼀⽅で、そこには、アルゴリズム記述⻑が短いなどの、”⾃然なルール”というものもありそう。
⾜し算程度の複雑さであれば、⾃然なものが⾒つかってくれてもよさそうな気もする。
---> ⾜し算を解くというのは「⾜し算を解くためのアルゴリズムを⾒つけて、それを実⾏すること」とみなせる。

© 2022 ARAYA Inc.

••28

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。

© 2022 ARAYA Inc.

••

29

算術課題はどうして解けないか
指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。
算術課題特化のモジュールを開発者が組み込んで解けたとしても、その⽅法は他の問題には適⽤できない。
さまざまあるタスクに対して、開発者がその都度ドメインごとに対応する必要があるものは、望ましくはない。
しかし、開発者がタスクのための知識を全く導⼊しないのであれば、システムは何の仮定もないところからタスクを解くためのアルゴリズムを⾒つけなくてはならない。
帰納バイアスはアルゴリズムの空間における探索空間を狭めてくれる。
⼀⽅で、ドメインに特化しすぎた帰納バイアスを⼊れると、多くのタスクでは機能しなくなる。
帰納バイアスとドメイン特化はトレードオフの関係にある。

© 2022 ARAYA Inc.

••30

算術課題はどうして解けないか••

指摘1：いや、算術課題程度は、実はもう解けているでしょう。
応答1：Yes and No. ⾒⽅によっては解けているが、解けていないとも捉えられる。
外挿と開発者の知識について考察する必要がある。
外挿について考えていると、そもそも解けない問題設定のようにも思えてくる。
開発者の知識について考えていると、算術課題それ⾃体を解きたいわけではないことに気づく。
算術課題特化のモジュールを開発者が組み込んで解けたとしても、その⽅法は他の問題には適⽤できない。
さまざまあるタスクに対して、開発者がその都度ドメインごとに対応する必要があるものは、望ましくはない。

帰納バイアスはアルゴリズムの空間における探索空間を狭めてくれる。
⼀⽅で、ドメインに特化しすぎた帰納バイアスを⼊れると、多くのタスクでは機能しなくなる。
帰納バイアスとドメイン特化はトレードオフの関係にある。
••

指摘3：では、どんな帰納バイアスが求められているのか？
応答3： これはもしかすると⾏動を⾃分で定義できるということなのではないか？

© 2022 ARAYA Inc.

しかし、開発者がタスクのための知識を全く導⼊しないのであれば、システムは何の仮定もないところからタスクを解くためのアルゴリズムを⾒つけなくてはならない。

31

どんな⽅法で解けるだろうか？
• 訓練データを仮想的に分割する？
それぞれのデータのペアを対応付けするだけでは、同じ問題に陥るだろう。
データを関連づける枠組みが必要そう。分割されたデータで訓練ができればよい。
しかし、これは⼀⾒不可能な枠組みにも思えるか。
• 機械学習のタスクの枠組みを変える。
⼊出⼒のペアだけからでは解けない。少なくとも⼈間はもっとリッチな情報を使っている。
例えば、タスクの記述を⾃然⾔語で与えられる。
であれば、機械学習の問題設定もそのような拡張が必要？

© 2022 ARAYA Inc.

• ⾏動のようなものを⾃分で定義できる？
何故これが必要か。環境を⼈⼿で与えてしまうと、それがドメイン固有の解決策になっている。
そうではなくて、その問題にふさわしい⾏動をシステム⾃らが定義できればよい。

32