3.7K Views
December 11, 23
スライド概要
公立小松大学の講義資料です.人工知能の技術,特に人工ニューラルネットワークについて簡単に説明しています.
⼈⼯知能の技術(⼈⼯ニューラ ルネットワーク)の概要 公⽴⼩松⼤学 藤⽥ ⼀寿 Ver. 20240220
⼈⼯知能開発の⽬標 人工知能開発の目標は入力に対し適切な出力をする機械を 作ること. 中国語が分かる⼈⼯知能 ⼊⼒ ⼩部屋 出⼒ 中国語の適切な返答が 書かれた紙 中国語の質問が書かれ た紙 部屋に中国語の質問を書いた紙を⼩部屋に⼊れると,適切な 返答が書かれた紙が出てくる.箱の中⾝は何でも良い.
⼈⼯知能の実現⼿法 • 現在の⼈⼯知能を実現する技術として,⼈⼯ニューラルネットワークがよく⽤ いられる. • 適⽤例 ⼊⼒ 出⼒ • 画像識別 • 領域抽出 • 対話型⼈⼯知能 • 画像⽣成⼈⼯知能 • 楽曲⽣成⼈⼯知能 • ゲームプレイ⼈⼯知能 ⼈⼯ニューラルネットワーク ⼈⼯ニューラルネットワークが⼊⼒ に対し適切な出⼒をするように学習 する. • 最新の⼈⼯知能技術と呼ばれるものには必ずと⾔っていいほど⼈⼯ニューラル ネットワークが使われる.
神経科学 ⼈⼯ニューラルネットワーク ネットワーク化 神経細胞(ニューロン) 脳 ⼈⼯ニューラル ネットワーク 数理モデル化 解剖学的知⾒に基 づき精密に脳をモ デル化した実⽤的 な⼈⼯ニューラル ネットワークはあ るだろうか.機能 をモデル化したも のはたくさんある だろう. 𝑓(𝒘! ⋅ 𝒙) ⼈⼯ニューロン ネットワーク化 ⼈⼯ニューラル ネットワーク ⼈⼯ニューロンを組み合わせ(ネットワーク化し),様々な機能を実現したものを⼈⼯ニューラルネットワークと呼ぶ. かつては,⼈⼯ニューロンは神経細胞を数理モデル化したもので,ネットワークの構造も脳を意識しており,⼈⼯ニューラルネッ トワークは神経科学のと⾔えた.しかし,現在の⼈⼯ニューラルネットワークは神経細胞や脳の数理モデルから乖離しており,表 ⾯上は脳と関係ない.表⾯上関係ないが,学習機械として共通する理論や性質があるのかもしれない.
⼈⼯ニューラルネットワーク の簡単な説明
脳の神経ネットワーク • 脳の神経ネットワークは,神経細胞と神経細胞が互いに接続したものである. • 神経細胞と神経細胞はシナプスを介し接続している. • 神経細胞と神経細胞は信号をやり取りしており,シナプスの強度(重み)によ って信号の伝わる強さが変わる. シナプス ニューロン (Carlson, Physiology of Behavior 11ed)
⼈⼯ニューラルネットワークの構成要素 • ⼈⼯ニューラルネットワークはニューロンと呼ばれる計算ユニットを繋いだも のである. • ニューロンは神経細胞の数理モデルが元となっている. • ニューロンは複数の⼊⼒を受け取る. • ニューロンはシナプスを介し⼊⼒を受け取る. • ニューロンは⼊⼒に対し何らかの処理をして,その結果を出⼒する. ⼊⼒ ⼊⼒ ⼊⼒ ニューロン シナプス 出⼒
シナプスの役割 ⼊⼒ ⼊⼒ シナプス シナプスにより ⼊⼒が変化 𝑥 ⼈⼯ ニューロン ニューロンが実際に受け取る⼊⼒ 重み⼩ 重み⼤ 𝑥 𝑥 𝑡 シナプスが⼊⼒を⼤きくしたり⼩さくしたり することで,ニューロンが実際に受け取る⼊ ⼒の⼤きさを変える.シナプスが⼊⼒を変化 させる⼤きさを重みという. 𝑡 𝑡 重みが⼤きいの で,ニューロン が受け取る⼊⼒ は⼤きくなる. 重みが⼩さいの で,ニューロン が受け取る⼊⼒ は⼩さくなる. ニューロンが実際に受け取る⼊⼒を前活性ということにする(Bishop and Bishop, 2023).
ニューロンの計算 現在の⼈⼯ニューラルネットワ ークでは,閾値処理によって出 ⼒を作っていない. 出⼒ 前活性 前活性 閾値 ニューロン 出⼒ 前活性が閾値より⼤きい 𝑎 𝑎 𝑡 𝑡 閾値 前活性 が閾値より⼩さい 𝑎 𝑡 𝑎 𝑡 前活性が閾値と呼ばれる基 準より⼤きい場合,出⼒す る(例えば1を). 前活性が閾値より⼩さい場 合は出⼒しない(0を出⼒ する).
ニューロンの計算 𝑥! 𝑥" 𝑥# 𝑓(𝑥) ニューロンは閾値ℎを持つ. 𝑤" ℎ 0 𝑥 出⼒ ニューロン シナプスの影響は,⼊⼒に対し掛け 算で働くとする. ニューロンは⼊⼒とシナプスの重み の掛け算の総和を⼊⼒として受け取 る.これを前活性という. 𝑎 = 𝑤! 𝑥! + 𝑤" 𝑥" + 𝑤# 𝑥# 𝑧 𝑓(⋅) 𝑦 ニューロンは前活性𝑎が閾値ℎを超えたとき1を出⼒し,そ うでないとき0を出⼒する. 図のように1か0を出⼒する関数を考えると,閾値は⼊⼒ に対し引き算の効果となる. 𝑦 = 𝑤! 𝑥! + 𝑤" 𝑥" + 𝑤# 𝑥# − ℎ これを関数𝑓(⋅)に⼊⼒することで,ニューロンは1か0を出 ⼒する.関数𝑓(⋅)を活性化関数といい,𝑦を活性という.
ニューロンの数式表現 • ⼊⼒を 𝑥& ,重みを 𝑤& ,ℎを閾値とすると前活性𝑎とニューロンの出⼒(活性)𝑦 は次のように書ける. • 𝑎 = ∑& 𝑤& 𝑥& • 𝑦 =𝑓 𝑎−ℎ • 𝑓(⋅)は活性化関数である.活性化関数にステップ関数を使⽤した場合, 𝑓(𝑎)は次 のように書ける. ⼊⼒ 1 • 𝑓 𝑎 =0 0 if 𝑎 > 0 otherwise 閾値 𝑥! 𝑥" 活性化関数 𝑥# 0 𝑎 ) 𝑤$ 𝑥$ 𝑤" 𝑓(𝑎) ℎ 𝑤! 𝑓(⋅) 出⼒ 𝑦 $ 𝑤# 重み 閾値を超えたら1を出⼒ そうでなければ0を出⼒
AND演算を実現する • AND演算を実現するために図のような2⼊⼒1出⼒のネットワークを考える. • 𝑤- = 𝑤. = 1, ℎ = 1.5とすると,⼊⼒と出⼒の関係は次のように書ける. • 𝑦 = 𝑓(𝑥- + 𝑥. − 1.5) • この式はAND演算を実現している. • しかし,図のようなニューラルネットワークでは単純な問題(線形分類問題) しか解けない. AND演算 𝑥! 𝑥" 𝑦 0 0 0 0 1 0 1 0 0 1 1 1 ネットワークの各数値 𝑥! 𝑥" 𝑥$ + 𝑥% − 1.5 𝑦 ネットワーク ⼊⼒ 𝑥" 𝑤" 𝑦 𝑥$ 𝑤$ 0 0 −1.5 0 0 1 −0.5 0 1 0 −0.5 0 1 1 0.5 1
組み合わせて様々な問題を解く • ニューロン1つでは単純な問題しか解けないが,ニューロンを組み合わせる( ネットワーク化する)ことで様々な問題が解けるようになる(可能性ができ る). • ニューロンのネットワーク(つまりニューラルネットワーク)として代表的なもの に図のような多層構造のネットワークがある. • ニューラルネットワークの構造を⼤きくしたり,複雑にすることで,様々な問 題を解くことができるかもしれない, ⼊⼒層 中間層 出⼒層
深層ニューラルネットワーク
⼈⼯ニューラルネットワークの深さ • ⼈⼯ニューラルネットワーク複雑さや⼤きさを表す指標として,深さがある. • 深さとは,⼈⼯ニューラルネットワークを構成する層の数のことを指す. • ⼈⼯ニューラルネットワークは,深くすることで,より複雑な問題が解ける ようになるかもしれない. • 深いニューラルネットワークのことを深層ニューラルネットワークと⾔う. ⼊⼒ 出⼒ 浅いニューラルネットワーク ⼊⼒ 出⼒ 深いニューラルネットワーク
softmax1
Conv
5x5+1(S)
Conv
1x1+1(S)
Conv
1x1+1(S)
MaxPool
3x3+1(S)
Plain Networks. We first evaluate 18-layer and 34-layer
plain nets. The 34-layer plain net is in Fig. 3 (middle). The
18-layer plain net is of a similar form. See Table 1 for detailed architectures.
The results in Table 2 show that the deeper 34-layer plain
net has higher validation error than the shallower 18-layer
plain net. To reveal the reasons, in Fig. 4 (left) we compare their training/validation errors during the training procedure. We have observed the degradation problem - the
softmax2
SoftmaxActivation
FC
AveragePool
7x7+1(V)
DepthConcat
Conv
3x3+1(S)
Conv
1x1+1(S)
We evaluate our method on the ImageNet 2012 classification dataset [36] that consists of 1000 classes. The models
are trained on the 1.28 million training images, and evaluated on the 50k validation images. We also obtain a final
result on the 100k test images, reported by the test server.
We evaluate both top-1 and top-5 error rates.
Conv
1x1+1(S)
4
Conv
1x1+1(S)
4.1. ImageNet Classification
Gaussian connections
Full connection
Subsampling
Full connection
for ImageNet. Left: the
s) as a reference. Midyers (3.6 billion FLOPs).
meter layers (3.6 billion
mensions. Table 1 shows
Conv
5x5+1(S)
DepthConcat
Conv
3x3+1(S)
4. Experiments
Conv
1x1+1(S)
fc 1000
FC
SoftmaxActivation
avg pool
Conv
1x1+1(S)
3x3 conv, 512
AveragePool
5x5+3(V)
3x3 conv, 512
Conv
1x1+1(S)
3x3 conv, 512
MaxPool
3x3+1(S)
MaxPool
3x3+1(S)
Conv
5x5+1(S)
FC
Conv
1x1+1(S)
Conv
1x1+1(S)
MaxPool
3x3+2(S)
DepthConcat
Conv
3x3+1(S)
3x3 conv, 512
Conv
1x1+1(S)
3x3 conv, 512
MaxPool
3x3+1(S)
3x3 conv, 256
Conv
5x5+1(S)
3x3 conv, 512, /2
Conv
1x1+1(S)
DepthConcat
Conv
3x3+1(S)
Conv
1x1+1(S)
Conv
1x1+1(S)
3x3 conv, 256
C5: layer F6: layer
120
84
3x3 conv, 256
FC
SoftmaxActivation
3x3 conv, 256
Conv
1x1+1(S)
3x3 conv, 256
Conv
5x5+1(S)
MaxPool
3x3+1(S)
softmax0
Conv
3x3+1(S)
Conv
1x1+1(S)
DepthConcat
Conv
1x1+1(S)
3x3 conv, 256
Conv
1x1+1(S)
3x3 conv, 256
AveragePool
5x5+3(V)
3x3 conv, 256
Conv
1x1+1(S)
3x3 conv, 256
MaxPool
3x3+1(S)
3x3 conv, 256
Conv
5x5+1(S)
3x3 conv, 256
Conv
1x1+1(S)
FC
Conv
3x3+1(S)
DepthConcat
Conv
1x1+1(S)
3x3 conv, 128
Conv
1x1+1(S)
3x3 conv, 256, /2
MaxPool
3x3+1(S)
3x3 conv, 128
Conv
5x5+1(S)
3x3 conv, 128
Conv
1x1+1(S)
DepthConcat
Conv
3x3+1(S)
MaxPool
3x3+2(S)
Conv
1x1+1(S)
3x3 conv, 128
Convolutions
Conv
1x1+1(S)
Conv
1x1+1(S)
3x3 conv, 128
S2: f. maps
6@14x14
Conv
1x1+1(S)
MaxPool
3x3+1(S)
3x3 conv, 128
Subsampling
Conv
1x1+1(S)
Conv
5x5+1(S)
Our implementation for ImageNet follows the practice
in [21, 41]. The image is resized with its shorter side randomly sampled in [256, 480] for scale augmentation [41].
A 224⇥224 crop is randomly sampled from an image or its
horizontal flip, with the per-pixel mean subtracted [21]. The
standard color augmentation in [21] is used. We adopt batch
normalization (BN) [16] right after each convolution and
before activation, following [16]. We initialize the weights
as in [13] and train all plain/residual nets from scratch. We
use SGD with a mini-batch size of 256. The learning rate
starts from 0.1 and is divided by 10 when the error plateaus,
and the models are trained for up to 60 ⇥ 104 iterations. We
use a weight decay of 0.0001 and a momentum of 0.9. We
do not use dropout [14], following the practice in [16].
In testing, for comparison studies we adopt the standard
10-crop testing [21]. For best results, we adopt the fullyconvolutional form as in [41, 13], and average the scores
at multiple scales (images are resized such that the shorter
side is in {224, 256, 384, 480, 640}).
Convolutions
Conv
1x1+1(S)
Conv
1x1+1(S)
3x3 conv, 128
3.4. Implementation
C1: feature maps
6@28x28
Conv
1x1+1(S)
Conv
3x3+1(S)
DepthConcat
Conv
1x1+1(S)
3x3 conv, 64
INPUT
32x32
Conv
1x1+1(S)
Conv
1x1+1(S)
3x3 conv, 128, /2
Conv
1x1+1(S)
DepthConcat
3x3 conv, 64
MaxPool
3x3+1(S)
3x3 conv, 64
Conv
5x5+1(S)
3x3 conv, 64
Conv
1x1+1(S)
3x3 conv, 64
Conv
3x3+1(S)
pool, /2
Conv
1x1+1(S)
MaxPool
3x3+2(S)
LocalRespNorm
Conv
3x3+1(S)
Conv
1x1+1(V)
3x3 conv, 64
Conv
1x1+1(S)
MaxPool
3x3+2(S)
neurons in a kernel map). The second convolutional layer takes as input the (response-normalized
and pooled) output of the first convolutional layer and filters it with 256 kernels of size 5 ⇥ 5 ⇥ 48.
The third, fourth, and fifth convolutional layers are connected to one another without any intervening
pooling or normalization layers. The third convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥
256 connected to the (normalized, pooled) outputs of the second convolutional layer. The fourth
convolutional layer has 384 kernels of size 3 ⇥ 3 ⇥ 192 , and the fifth convolutional layer has 256
kernels of size 3 ⇥ 3 ⇥ 192. The fully-connected layers have 4096 neurons each.
7x7 conv, 64, /2
Residual Network. Based on the above plain network, we
insert shortcut connections (Fig. 3, right) which turn the
network into its counterpart residual version. The identity
shortcuts (Eqn.(1)) can be directly used when the input and
output are of the same dimensions (solid line shortcuts in
Fig. 3). When the dimensions increase (dotted line shortcuts
in Fig. 3), we consider two options: (A) The shortcut still
performs identity mapping, with extra zero entries padded
for increasing dimensions. This option introduces no extra
parameter; (B) The projection shortcut in Eqn.(2) is used to
match dimensions (done by 1⇥1 convolutions). For both
options, when the shortcuts go across feature maps of two
sizes, they are performed with a stride of 2.
Figure 2: An illustration of the architecture of our CNN, explicitly showing the delineation of responsibilities
between the two GPUs. One GPU runs the layer-parts at the top of the figure while the other runs the layer-parts
at the bottom. The GPUs communicate only at certain layers. The network’s input is 150,528-dimensional, and
the number of neurons in the network’s remaining layers is given by 253,440–186,624–64,896–64,896–43,264–
4096–4096–1000.
LocalRespNorm
image
Conv
7x7+2(S)
input
Figure 3: GoogLeNet network with all the bells and whistles
7
34-layer residual
深層ニューラルネットワークの例
昔からある⼈⼯ニューラルネットワーク
C3: f. maps 16@10x10
S4: f. maps 16@5x5
OUTPUT
10
LeNet-5 (1998)
AlexNet (2012)
AlexNetの活躍により深層ニュー
ラルネットワークが普及する.
GoogleNet (2014)
ResNet34 (2015)
152層で画像認識コンペで優勝
⼈⼯知能と⼈⼯ニューラル ネットワーク
⼈⼯知能と⼈⼯ニューラルネットワーク • 画像を処理する. • ⽂字の識別,顔の識別など様々な画像処理タスクに⽤いられる. • 畳み込みニューラルネットワークと呼ばれる⼈⼯ニューラルネットワークがよく使 われる. • ⾔語を処理する(⾔語モデル). • 対話型⼈⼯知能などで使われる. • Transformerと呼ばれる⼈⼯ニューラルネットワークがよく使われる. • 画像などを作る(画像⽣成⼈⼯知能). • 我々の指⽰に応じた画像を作る. • 拡散モデルがよく使われる. 対話型⼈⼯知能や画像⽣成⼈⼯知能などをあわせて⽣ 成⼈⼯知能と呼ぶことがある. • 拡散モデルを実装するために⼈⼯ニューラルネットワークが使われる.
畳み込みニューラルネットワ ーク
⼈間を超えた?画像識別能⼒ Classification Results (CLS) 画像識別⼤会で優勝した⼿法のスコア 畳み込みニューラルネットワーク 0.3 Classification Error 0.25 0.28 0.26 0.2 AlexNet 0.15 GoogLeNet 0.16 ResNet 0.12 0.1 16.7% ↓ 23.3% ↓ 0.051 0.07 0.05 0 2010 2011 2012 2013 2014 Karpathy 0.036 0.03 0.023 2015 2016 2017 (http://image-net.org/challenges/talks_2017/ILSVRC2017_overview.pdf) http://karpathy.github.io/2014/09/02/what-i-learned-from-competing-against-a-convnet-on-imagenet/
画像の特徴 • ⽂字Aの特徴はなにか? • Aは尖り,T字,斜め線などでできている. • これらがAの特徴と⾔える. • 逆に,⽂字画像に上記の特徴があれば,⽂字画像はAであるといえるのではな いか. これらの特徴ならA がだろう. 推論 分解 ⽂字A ⽂字Aを構成する特徴
畳み込みニューラルネットワークの構造 プーリング層 ⼊⼒ 畳み込み層 プーリング層 畳み込み層 全結合層 下層で捉えた特徴を使って, 画像を識別する.通常,画像 識別では多層パーセプトロン が使われる. 特徴を捉える. 畳み込み層で画像の局所特 徴を捉える.Aという⽂字 画像なら,上の尖り,中央 のT字,中央の横線,下部 の斜め線が特徴になるだろ う. ズレを吸収する. Aが横や縦にずれてもAで ある.しかし,画像がずれ ると,特徴の場所もずれて しまい別の画像として識別 されるかもしれない.プー リング層でズレを吸収する ことで,ズレに対応する. 捉えた特徴の更に特徴を捉 える.そうすると,下層で 捉えた特徴の組み合わせを 捉えることになる.
⽣成⼈⼯知能
⽣成⼈⼯知能 • ⽣成⼈⼯知能とは,⽂章,画像その他のメディアをプロンプトから⽣成するこ とが出来る⼈⼯知能システムのこと(wikipedia英語版). • プロンプトとは,⼈⼯知能に与える命令のこと. 出⼒ ⼊⼒( プロンプト ) ⼩松⼤学を描いて (https://en.wikipedia.org/wiki/Generative_artificial_intelligence)
代表的な⽣成⼈⼯知能 • 対話型(会話型)⼈⼯知能 • ユーザと対話することができるチャットボットや仮想エージェントなどの技術 (https://www.ibm.com/jp-ja/topics/conversational-ai) • 利⽤者が⾳声やテキストで⼊⼒すると⾃然な⽂章を⽣成し,応答してくれる⼈⼯知 能(https://www.nikkei.com/theme/?dw=23052603) • 画像⽣成⼈⼯知能 • 画像を⽣成する⼈⼯知能 • Stable diffusionやDALL-Eは拡散モデルを⽤い画像⽣成を⾏う.
対話型⼈⼯知能と⾔語モデル
対話型⼈⼯知能と⾔語モデル • 対話型⼈⼯知能 • ⾔語モデルを⽤い対話を実現している. • 次に出てくる単語を予測するモデル.次の単語を予測し続ければ⽂章が出来る. • ChatGPTは⾔語モデルGPTを⽤いOpenAIにより構築された対話型⼈⼯知能 • Bartは基盤モデルLaMDAを⽤いGoogleにより構築された対話型⼈⼯知能
⾔語モデルとは • ⾔語モデリングは,与えられた⽂章の次に来る単語を予測するタスク • 次に来る単語を予測し続けることで⽂章を⽣成する事ができる. • ⾔語モデリングを⾏うものを⾔語モデルという. • 関連技術:n-gram, LSTM (long short-term memory), RNN (recurrent neural network) • ⼤量のパラメタで構成される巨⼤なニューラルネットワークを⽤いた⾔語モ デルを⼤規模⾔語モデルという. • 現在はTransformerベースの技術が主流. • ChatGPTもTransformerがベースのGPTという⾔語モデルを⽤いている. TransformerとはGoogleが開発した⾔語モデルである.再帰構造がなく並列計算が容易である点などがこ れまでの⼿法と異なる.
⾔語モデルは何をしているのか • ⾔語モデルは,次にどの単語が出やすいかを学習する. • 学習後のモデルを⽤い,次に出る単語を予測する. 次に来る確率0.4 ⽇本 の ⾸都 次に来る確率0.3 ⾸相 次に来る確率0.3 観光 次に来る確率0.7 は 東京 次に来る確率0.2 京都 次に来る確率0.1 ⼤阪 次に来る確率0.7 です 次に来る確率0.2 だろう 次に来る確率0.1 かもしれない
Transformer • TransformerはGoogleのチームが発表した⾔語モデルの⼀つである. • Transformerの出現で⾔語モデルを⼤規模に出来るようになった. • Transformerは並列化が容易である. • ⻑い⽂章を⼊⼒出来る. • ⽐較的遠い単語間の関係も捉えることが出来る. デコーダ • Transformerの登場により⾔語モデルの能⼒が急速に進化した. • BERT (Bidirectional Encoder Representations from Transformers) • Googleのチームにより2018年に発表された⾔語モデル. エンコーダ • Transformerのエンコーダを事前学習したもの. • ⽳埋め問題により学習.⼤量のテキストさえあれば,学習ができる. • 既存のテキストに⽳を作り,その⽳を埋めさせる. • 訓練データを作る必要がない. • GPT (Generative Pre-trained Transformer) • 2018年にOpenAIによりGPT-1が発表された. • Transformerのデコーダを事前学習したもの. (Vaswani et al., 2017, Attention is all you need)
⼤規模⾔語モデルの進化 Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond 3 Chat GLM LLaMA 2023 OPT-IML BLOOMZ Flan Galactica T5 BLOOM Open-Source YaLM OPT Tk GPT-NeoX ST-MoE 2022 GPT-J GLM GPT-Neo Switch 2021 mT5 DeBERTa ELECTRA 2020 ALBERT RoBERTa 2019 2018 Distill BERT BART T5 XLNet ERNIE ULMFiT GPT-2 Enc ode r-D eco der BERT ELMo T0 Encoder-On ly FastText Decoder-Only GPT-1 GloVe Word2Vec Transformer登場後,様々な⼤規模⾔語モデルが登場している. Fig. 1. The evolutionary tree of modern LLMs traces the development of language models in recent years and highlights some of the most well-known models. Models onYang the same have closer relationships. Transformer-based are shown in non-greyA etbranch al., 2023, Harnessing the Power ofmodels LLMs in Practice: Survey on ChatGPT and Beyond
⾔語モデルは変 • ⾔語モデルは次の単語を予測するだけ. • 中⾝を理解せず,それっぽいことを出⼒しているだけと⾔える. • ⼀⽅で • 教えていないのに答えが分かる事がある. • Zero shot promptingと呼ばれる. • 例えば,「⽇本の⾸都は」との問に,⾔語モデルは「東京」と答えることが出来るが,⾸都 =東京と教えてはいない. • いくつか例を提⽰すると答えを導ける事がある. • Few shot promptingと呼ばれる. • 重要なのはモデルパラメタの学習はしていない点である.
⾔語モデルは変 モデルパラメタの学習はしていない. • Chain-of-Thoughtで何故か問題が解けるようになる. • Chain-of-Thoughtとは問題を解くまでの⼀連の⼿順をプロンプトに含めるテクニッ ク.(https://atmarkit.itmedia.co.jp/ait/articles/2308/24/news041.html) • ⼈⼯知能に単に答えを聞くのではなく,例題と解く⼿順を提⽰することで,正確な 回答をできるようにする. • 例 プロンプト(⼈⼯知能への命令) このグループの奇数を合計すると偶数になります。: 4、8、9、15、12、2、1。 A: 奇数を全て加えると(9, 15, 1)25になります。答えはFalseです。 このグループの奇数を合計すると偶数になります。: 17、10、19、4、8、12、24。 A: 奇数を全て加えると(17, 19)36になります。答えはTrueです。 このグループの奇数を合計すると偶数になります。: 16、11、14、4、8、13、24。 A: 奇数を全て加えると(11, 13)24になります。答えはTrueです。 このグループの奇数を合計すると偶数になります。: 17、9、10、12、13、4、2。 A: 奇数を全て加えると(17, 9, 13)39になります。答えはFalseです。 このグループの奇数を合計すると偶数になります。: 15、32、5、13、82、7、1。 A: 出⼒ 奇数を全て加えると(15, 5, 13, 7, 1)41になります。答えはFalseです。 (https://www.promptingguide.ai/jp/techniques/cot)
対話型⼈⼯知能は何も考えていない • 対話型⼈⼯知能は⾔語モデルを⽤い次に来る単語を選んでいき⽂章を⽣成する. • つまり,対話型⼈⼯知能は次に来そうなそれっぽい⾔葉を並べ,それっぽく会話し ているだけである. • 何も考えていないと⾔える. • それっぽく会話をしているだけなので,そもそも計算したり数学の問題を解く仕組 みは持っていない. • つまり,対話型⼈⼯知能が計算を間違えたり数学の問題が解けないからと⾔って落胆する( 役に⽴たないと断ずる)必要はない. • 更に⾔語モデルを巨⼤化すれば解ける様になるかもしれない. • 本当に何も考えていないのか. • 我々の思考も⾔語モデルと似ている.思考の連鎖は条件付き確率の連鎖(マルコフ連鎖)と ⾔えるのでは.ということは,⾔語モデルは⼈と同じように将来思考できるのではないか( と⾔うか,もう思考しているのか)? • ⼈⼯知能の研究は,考えるとはなにか,更には意識とはなにかへの理解につながる かもしれない.
画像⽣成⼈⼯知能とその基本 的な考え⽅
⽣成モデル • 物体認識問題では,物体の画像から物体の種類を推論することが⽬的である. • 観測される画像は,物体とその位置と向きによって変わると考えられる. • この因果関係を表すモデルは画像が⽣成される因果過程を表しているため,⽣ 成モデルと呼ばれる. 物体 Object 位置 ⾓度 Position Orientation ⽬に⼊る画像は,物体とそ の位置と向きで決まる. Image 画像 (PRML下巻) 物体とその位置と⾓度と画像の因果関係を表すグラフ
⽣成モデル • 物体とその位置と⾓度と画像の関係(関数)が分かれば,物体とその位置と ⾓度を指定するだけで画像が作れる. • 画像を作るための関数に与える⼊⼒は,物理的な意味を持たなくても良い. • 画像⽣成⼈⼯知能は,画像を⽣み出す関数を学習により獲得し,適当な⼊⼒に対し 画像を出⼒する (それがノイズであっても) . 物体 Object 位置 ⾓度 Position Orientation 𝑎 適当な⼊⼒ Object 𝑏 𝑐 Position Orientation 画像を⽣み出す関数 画像を⽣み出す関数 Image 画像 Image 画像
画像⽣成⼈⼯知能 • 代表的な画像⽣成⼈⼯知能 • GAN (Generative advaesarial network) • 画像⽣成⼈⼯知能が真贋を識別する⼈⼯知能を騙すように学習することで画像を⽣成する. • VAE (Variational autoencoder) (Kingma and Welling, 2014) • 画像の潜在変数を求め,その潜在変数から画像を⽣成する. • Diffusion model (Ho et al. 2020) • 現在の画像⽣成⼈⼯知能で使われる⼿法 • ノイズから画像を⽣成 ニューラル ネットワーク 画像⽣成 ニューラル ネットワーク Generator 本物に似せるように学習 xT ··· xt <latexit sha1_base64="XVzP503G8Ma8Lkwk3KKGZcZJbZ0=">AAACEnicbVC7SgNBFJ2Nrxhfq5Y2g0FICsNuFEwZsLGMYB6QLMvsZDYZMvtg5q4Y1nyDjb9iY6GIrZWdf+Mk2SImHrhwOOde7r3HiwVXYFk/Rm5tfWNzK79d2Nnd2z8wD49aKkokZU0aiUh2PKKY4CFrAgfBOrFkJPAEa3uj66nfvmdS8Si8g3HMnIAMQu5zSkBLrlmO3R4MGZBSLyAw9Pz0YeKmcG5P8CNekKDsmkWrYs2AV4mdkSLK0HDN714/oknAQqCCKNW1rRiclEjgVLBJoZcoFhM6IgPW1TQkAVNOOntpgs+00sd+JHWFgGfq4kRKAqXGgac7p0eqZW8q/ud1E/BrTsrDOAEW0vkiPxEYIjzNB/e5ZBTEWBNCJde3YjokklDQKRZ0CPbyy6ukVa3YF5Xq7WWxXsviyKMTdIpKyEZXqI5uUAM1EUVP6AW9oXfj2Xg1PozPeWvOyGaO0R8YX7+bCp4F</latexit> p✓ (xt 1 |xt ) xt 1 ··· x0 <latexit sha1_base64="l4LvSgM7PR7I/kkuy5soikK4gpU=">AAAEoXictVLditNAFE7XqGv92a5eejOYLexKLU0VFKRQ9EYvhCrb3YUklOlk2g6dnzBzYrcb8zK+lU/gazhJK6atuiB4YODM+T/n+8YJZwY6nW+1vRvuzVu39+/U7967/+CgcfjwzKhUEzokiit9McaGcibpEBhwepFoisWY0/Px/G3hP/9MtWFKnsIyoZHAU8kmjGCwplHjeygwzAjThNM4Kz/jSXaZj05zFHIlp5pNZ4C1VgsUkliB2TX/oQLYCpe/4rJwZhJM6NPMJyLPt9IM0SwBA0tOUaVGBs/8/J8mWVRH6eSjhtdpd0pBu4q/VjxnLYPR4d7XMFYkFVQC4diYwO8kEGVYA7P183qYGmr3meMpDawqsaAmykpEctS0lhhNlLZPAiqt1YwMC2OWYmwjiynNtq8w/s4XpDB5FWVMJilQSVaNJilHoFABL4qZpgT40irYntTOisgMa0zAkqC+0QbY/MquIfCcYssbsBH1UNIFUUJgGVePGfhR1qyj1YETXAaH/SqAnp836/lGftUfdNcFiqbBT8L2jouQdvE9iVAoVUyDWONFa5XVYlJSjezEPT+BlmCSiVQgw65or2vBaE0Y5z1e4D/VeBmhstwJyo5C0YeZ53vdo/z19lhVjly71+K6xRb/ZbO/rbLCS8HMwmVZ7W9zeFc567b95+3uxxde/82a3/vOY+eJc+z4zkun77xzBs7QIbUPNVP7Ustdz33vDtxPq9C92jrnkbMhbvAD81mObw==</latexit> sha1_base64="7yFrn0YPyuP5dVIvc7Tl2zcbS/g=">AAAB+HicbVBNSwMxEJ2tX7V+dNWjl2ARPJXdKuix6MVjBfsB7VKyaXYbmk2WJKvU0l/ixYMiXv0p3vw3pu0etPXBwOO9GWbmhSln2njet1NYW9/Y3Cpul3Z29/bL7sFhS8tMEdokkkvVCbGmnAnaNMxw2kkVxUnIaTsc3cz89gNVmklxb8YpDRIcCxYxgo2V+m65x6WIFYuHBislH/tuxat6c6BV4uekAjkafferN5AkS6gwhGOtu76XmmCClWGE02mpl2maYjLCMe1aKnBCdTCZHz5Fp1YZoEgqW8Kgufp7YoITrcdJaDsTbIZ62ZuJ/3ndzERXwYSJNDNUkMWiKOPISDRLAQ2YosTwsSWYKGZvRWSIFSbGZlWyIfjLL6+SVq3qn1drdxeV+nUeRxGO4QTOwIdLqMMtNKAJBDJ4hld4c56cF+fd+Vi0Fpx85gj+wPn8AXOGk5o=</latexit> <latexit q(xt |xt <latexit sha1_base64="eAZ87UuTmAQoJ4u19RGH5tA+bCI=">AAACC3icbVC7TgJBFJ31ifhatbSZQEywkOyiiZQkNpaYyCMBspkdZmHC7MOZu0ay0tv4KzYWGmPrD9j5N87CFgieZJIz59ybe+9xI8EVWNaPsbK6tr6xmdvKb+/s7u2bB4dNFcaSsgYNRSjbLlFM8IA1gINg7Ugy4ruCtdzRVeq37plUPAxuYRyxnk8GAfc4JaAlxyzclbo+gaHrJQ8TB/AjnvsmcGZPTh2zaJWtKfAysTNSRBnqjvnd7Yc09lkAVBClOrYVQS8hEjgVbJLvxopFhI7IgHU0DYjPVC+Z3jLBJ1rpYy+U+gWAp+p8R0J8pca+qyvTRdWil4r/eZ0YvGov4UEUAwvobJAXCwwhToPBfS4ZBTHWhFDJ9a6YDokkFHR8eR2CvXjyMmlWyvZ5uXJzUaxVszhy6BgVUAnZ6BLV0DWqowai6Am9oDf0bjwbr8aH8TkrXTGyniP0B8bXL+1hmu8=</latexit> Discriminator 本物の画像 1) Figure 2: The directed graphicalmodel model considered in this work. Diffusion This paper presents progress in diffusion probabilistic models [53]. A diffusion probabilistic model (which we will call a “diffusion model” for brevity) is a parameterized Markov chain trained using 本物か偽物か GANの処理
ニューラルネットワークの巨 ⼤化と性能向上
ニューラルネットワークのパラメタ数 • ニューロンの出⼒を変化させるには,重みを変えれば良い. • 𝑦 = 𝑓 ∑% 𝑤% 𝑥% − ℎ 閾値はℎ = 𝑤𝑥!, 𝑥! = 1とすれば重みになる. • ニューラルネットワークの出⼒を制御する変数をパラメタと⾔い,重みはニュー ラルネットワークパラメタである. • つまり,ニューラルネットワークのパラメタ数とは重みの数である. ⼊⼒ 𝑥$ 閾値 𝑦 ℎ 𝑤$ 𝑓 𝑤A𝑥A + 𝑤B𝑥B + 𝑤C𝑥C − ℎ 出⼒ 𝑥% 𝑤% 𝑥) ( 𝑤( 𝑥( 𝑓(⋅) ( 𝑤) 重み この図ではwが3つと閾値1つが可変な数値なの で,4つのパラメタがあると考えられる. 学習により変えることが可能 𝑤- , 𝑤. , 𝑤/ , ℎはパラメタ
ニューラルネットワークのパラメタ数 • ニューロンを増やせば増やすほど重みの数も増え,パラメタも増える. • つまり,パラメタの数がニューラルネットワークの⼤きさを表すと⾔える. ⼊⼒ 𝑥! 𝑥" ' 𝑤$ 𝑥$ 中間層 出⼒層 𝑦 出⼒ ℎ 𝑤! 𝑤" 𝑥# ⼊⼒層 閾値 INPUT 32x32 C1: feature maps 6@28x28 𝑓(⋅) C3: f. maps 16@10x10 S4: f. maps 16@5x5 S2: f. maps 6@14x14 C5: layer F6: layer 120 84 OUTPUT 10 $ 𝑤# 重み パラメタが少ない Convolutions パラメタが少し多い Subsampling Convolutions Gaussian connections Full connection Subsampling Full connection パラメタが多い
パラメタ数の推移 • ⼈⼯知能(ニューラルネットワーク)は年々巨⼤になっている. • ニューラルネットワークの⼤きさはパラメタ数が決める.パラメタ数は,ニューロ ン同⼠の接続の強さを決める重みの数に相当する. • なぜ巨⼤化するのか • ⼈⼯知能(ニューラルネットワーク)は巨⼤なほど性能が⾼くなるから. モデル パラメタ数 AlexNet (2012) 62.4M(Sobczak et al., 2019) GoogleNet (2014) 6.8M(Sobczak et al., 2019) VGG-16 (2014) 138.0M(Sobczak et al., 2019) ResNet-18 (2015) 11.7M(Sobczak et al., 2019) BERT (Google, 2018) 340M GPT (2018) 110M GPT-2 (OpenAI, 2019) 1.5B GPT-3 (OpenAI, 2020) 175B PaLM (Google, 2022) 540B LLaMA (Meta, Feb 2023) 65B GPT4 (OpenAI, Mar 2023) ?? PaLM2 (Google, May 2023) 340B LLaMA2 (Meta, Jul 2023) 70B (Bernstein et al., 2021) (LLMのパラメタ数はwikiからhttps://en.wikipedia.org/wiki/Large_language_model)
スケール則 (Kaplan et al., 2020,https://arxiv.org/abs/2001.08361) • モデル(ニューラルネットワーク)の性能は,パラメタの数,学習デ ータの数,計算量に強く依存する. • モデルの性能は深さや幅などの構造にはあまり依存しない. • 性能(損失)はパラメタ数,データ数,計算量に対しべき乗の関係を 持つ. Test Loss • スケール則が,ニューラルネットワークを巨⼤化する理由と,巨⼤化 にコストを掛けて良いという保証になっている. Compute Dataset Size Parameters PF-days, non-embedding tokens non-embedding
スケール則 (Kaplan et al., 2020,https://arxiv.org/abs/2001.08361) • パラメタ数とデータ数を同時に増やす限り性能は予想通り(べき乗) に向上する. • 学習曲線(計算回数に対する損失の減少)はべき乗則で予測できる. べき乗則のパラメタはモデルサイズに対しほぼ独⽴である. Test Loss • ⼤きなモデルは,⼩さなモデルよりもサンプル効率が⾼く,より少な い最適化ステップとより少ないデータで同じレベルの性能に達する. Compute Dataset Size Parameters PF-days, non-embedding tokens non-embedding
⼈⼯ニューラルネットワークは⼤きければ良い • サツケヴァーは,「⼤きなニューラルネットワークを⼤きなデータセットで 単純だが正しい学習則で学習することが,知能実現への唯⼀の道」と⾔った (岡野原, ⼤規模⾔語モデルは新たな知能か ) • ChatGPTなどの対話型⼈⼯知能で使われる,⼤規模⾔語モデルはTransformerを単純 に⼤きくしたものと⾔えるが極めて⾼性能である. • ⼈⼯ニューラルネットワークは⼤きければ⼤きいほど性能が⾼くなるため,⼈ ⼯知能の性能を制限したければ,⼤きさを制限すればよいかもしれない.
⼈間の下⼿な知恵はいらない • Suttonは,「⼈の知識によるアプローチは⼿法を複雑にする傾向にあり,それ はコンピュータを活⽤した⼀般的⼿法には適さない.ゲーム⼈⼯知能でも初期 は⼈間の知識を利⽤し探索を避けようと努⼒したが,⼤規模に探索が適⽤さ れると,探索を避けることは無関係か,より悪いことを引き起こす」と⾔っ ている.(http://www.incompleteideas.net/IncIdeas/BitterLesson.html)
⼈間の下⼿な知恵はいらない • 良いニューラルネットワークを巨⼤化し,巨⼤なデータで学習すれば良い. • ⼤規模⾔語モデルは,正しくこの⽅針で性能向上している. • ニューラルネットワークの巨⼤化には,より⾼速な計算機が必要になる. • 2023年の段階では,データ不⾜が⼼配されている. • ⼈⼯知能の⾃⼰学習により解決可能か?(Singh et al, 2023) • 下⼿な⼈間の知恵を⼈⼯知能に取り込んでも性能は下がる. • 今,画像関連タスクにおいてSIFT特徴量を使う⼈はいない. • 単純に計算機の計算⼒を活⽤する⽅法が良い. • ゲーム⼈⼯知能で成功したAlphaZeroは,ただニューラルネットワークを使って効率 よくモンテカルロ⽊探索をしているだけで,ゲームに関する⼈の知恵は⼊っていな い(ただし合法⼿は教えている).
まとめ
まとめ • ⼈⼯ニューラルネットワークは,⼈⼯知能と呼ばれるものの基盤技術である. • ⼈⼯ニューラルネットワークには様々な種類があり,⽤途により使い分ける. • ⼈⼯知能は学んだものに基づき適当に出⼒しているだけ. • ⼈間も同じかもしれない. • ⼈⼯ニューラルネットワークは,⼤きければ⼤きいほど性能は⾼い. • ビッグテックは性能を上げるためネットワークを⼤きくしている. • ネットワークを⼤きくするには計算リソースと巨⼤な訓練データが必要である. • ネットワークの⼤きさを制限すれば,⼈⼯知能の性能も制限できるかもしれない. • 訓練データの不⾜が⼼配されている. • ⾃⼰学習による解決が試みられている. • ⼈⼯知能技術に⼈間の下⼿な知恵はいらない. • 計算機の計算⼒で解決したほうが良い.