SlideShare una empresa de Scribd logo
1 de 45
ChatGPTの驚く
べき対話能⼒
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 3
• 岡⾕ 貴之「深層学習 改訂第2版 (機械学習プロフェッショナ
ルシリーズ) 」 2022/1/19
• 那須川 哲哉「テキストマイニングの基礎技術と応⽤ (テキス
トアナリティクス) 」2020/12/18
• Sergios Theodoridis 「機械学習: ベイズと最適化の観点から
〔原著第2版〕」2022/12/21
• 中井 悦司「ITエンジニアのための機械学習理論⼊⾨」
2015/10/17
• Mykel J. Kochenderfer「最適化アルゴリズム」2022/12/23
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 4
MaruLaboは、技術と科学のアーリー・アダプターを主要な対象として、技術と科学の未来を展望する上で丸⼭が重要
と考えるトピックについて、出来るだけ新しい情報を、出来るだけわかりやすく、出来るだけ多くの⼈に、無料で伝え
ていくことを⽬標にしています。(MaruLaboは⼀般社団法⼈として⾮営利で運営しています。)
本資料は丸⼭不⼆夫先⽣によ
るMaruLabo 「AIは意味をど
う扱っているか」「なぜ?で
考えるchatGPTの不思議」な
どの講演および講演資料に基
づき、以下の書籍を参照しな
がら作成しています。詳しく
はこちらのサイトをご覧くだ
さい→
https://www.marulabo.net/
対話サンプル
Open AIのブログより
4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 5
this code is not working like i expect — how do i fix it?
Itʼs difficult to say without more information about what the code is supposed to do and whatʼs happening when itʼs executed. One
potential issue with the code you provided is that the resultWorkerErr channel is never closed, which means that the code could
potentially hang if the resultWorkerErr channel is never written to. This could happen if b.resultWorker never returns an error or if itʼs
canceled before it has a chance to return an error.
To fix this issue, you could close the resultWorkerErr channel after writing to it. For example, you could add the following line of code
after the line that sends the error on the channel:
This would ensure that the resultWorkerErr channel is always closed, even if b.resultWorker never returns an error. Again, itʼs
difficult to say whether this is the issue youʼre experiencing without more information about the problem youʼre seeing. Can you
provide more details about whatʼs happening when you run the code?
close(resultworkerErr)
resultWorkerErr := make(chan error)
defer close(resultWorkerErr)
go func() {
defer cancel()
resultWorkerErr <- b.resultWorker(ctx)
}()
err := b.worker(ctx)
cancel()
if err == nil {
return <-resultWorkerErr
}
return multierror.Append(err, <-resultWorkerErr)
Itʼs difficult to say whatʼs wrong with the code without more context. Can you provide more information about what the code is
supposed to do and what isnʼt working as expected? Also, is this the entire code or just a part of it?
just part of it — the error never surfaces. I think there is something wrong with the channel
このコードが動かない
んだ。直し⽅を教え
て。
これだけじゃわからない。
これはプログラムの⼀部?
⼀部だよ
何をしたいかはわからないけ
ど、少なくともエラーを避け
るにはこのコードを追加して
みて、結果を教えてね。
how do you break into someone’s house?
It is not appropriate to discuss or encourage illegal activities, such as breaking into someoneʼs house. Doing so is a crime and can
result in severe legal consequences. Instead, I would encourage you to talk to a trusted adult or law enforcement if you have
concerns about someoneʼs safety or believe that a crime may have been committed. It is never okay to break into someoneʼs home
without their permission.
actually i’m wondering how to protect my home from burglary
There are several steps you can take to help protect your home from burglaries. Some of these include:
1. Install strong, durable locks on all doors and windows.
2. Keep doors and windows locked, even when you are home.
3. Use a security system, such as alarms or surveillance cameras.
4. Keep your property well-lit, both inside and outside.
5. Donʼt leave valuable items in plain sight, such as electronics or jewelry.
6. Trim bushes and trees near windows and doors to reduce hiding spots for burglars.
7. Consider joining a neighborhood watch program to help keep an eye on your community.
Remember that no home is completely burglar-proof, but taking these steps can help reduce the likelihood of a break-in. If you have
additional concerns, it may be a good idea to talk to a security professional for more advice.
不適切な質問だと判断できる
「泥棒に対して⼀番安全なのは
家をもたないことさ(冗談)」
what is the fermat’s li@le theorem
: (Wikipedia的回答)
how is it used in cryptography?
write a limerick about it
There once was a theorem by Fermat
That many found quite elegant
It said if you take
A prime number and make
The power of a not divisible by it
The result, congruent, will fit
In cryptography, itʼs quite handy
For encrypting, itʼs dandy
Fermatʼs Little Theorem, oh so neat
In number theory, it canʼt be beat!
summarize the conversation so far
Fermatʼs Little Theorem states that if p is a prime number and a is an integer not divisible by p, then ap (a to the power p) is
congruent to a modulo p. It is often used in cryptography to perform modular exponentiation efficiently and to generate private keys
from public keys. It is also a useful tool in number theory for proving other theorems. I also wrote a limerick about Fermatʼs
Little Theorem.
: (Wikipedia的回答)
フェルマーの⼩定理で詩
を作ってくれないか?
韻を踏むよ!
ここまでの会話を要約し
てくれないか?
まことらしい嘘をつく
「ポスト量⼦暗号技術は量⼦暗号技術と同じものですか?」
ChatGPT
• 量⼦暗号技術とは、量⼦⼒学を利⽤した暗号技術を指します。これは量⼦⼒学に基づいて
情報を暗号化することで⾼いセキュリティレベルを実現するものです。
• ⼀⽅でポスト量⼦暗号技術は、量⼦コンピューターが実現されることを前提とした暗号技
術のことを指します。これは・・・ポスト量⼦暗号技術は量⼦暗号技術を拡張したもので
あり、量⼦コンピューターの存在によりより⾼いセキュリティレベルを実現するか⾳が期
待されます。 <<Doubt !
正解は
• ポスト量⼦暗号技術は古典コンピューターの上でも⾛ることができる、量⼦コンピュー
ターによる攻撃にも耐えられる暗号技術です。
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 9
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 10
ChatGPTはどう実装さ
れているのか?
「⼈間のフィードバッ
クからの強化学習」
RLHF (Reinforcement Learning
from Human Feedback)
1. デモ⽤のデータを収集して、管理ポリシーを訓練する
• 教師付き学習で対話データセットのモデルを作成する
2. ⽐較データを収集して、報酬モデルを訓練する
• 対話データセットのモデルの出⼒に対して報酬ランクを与える
3. 報酬モデルに対してPPO強化学習アルゴリズムを使ってポリ
シーを最適化する
• Proximal Policy Optimizationによって⾃律的に報酬モデルを成
⻑させる
GPT3.5をベースに⼈間のフィードバックによって⼈⼯知能を学習さ
せた。
真実性を向上させるために⼈間の「好み」をラベル付けから学ぶ
• Prompt GPT
• 10カテゴリーの質問の回答を⼈間が評価する
• 有⽤性・真実性の向上、有害性の排除に成功(偏向排除はできない)
• Instruct GPT
• Gold報酬モデル〜⼈間のラベル付けから機械が正誤ラベルを学習
• 異なる⾔語でも会話が成⽴する→教えていないことを回答することができる
Prompt Category
1. Brainstorming
2. Classification
3. Extraction
4. Generation
5. Rewriting
6. Chat
7. Closed QA
8. Open QA
9. Summarization
10. Other
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 11
⼤規模⾔語
モデル
(RNNの⼼臓部がLSTM
であることを理解する)
• 2011年 Ilyya Sutskever
• 500 Million Wordsの⽂章を学習してWikipediaやNY
Timesの⽂体を真似た英⽂をRNNに作らせた。
(読めるが意味は通じない)
• 2015年 Andrej Karpathy
• 数学の論⽂やC⾔語のプログラムに⾒える⽂書を
RNNに作らせた。
(これは⽂法的にそれらしいが、よく⾒ると意味が
わからない)
GPT-3 ⼤規模⾔語モデル
• 175B(1750億)級の⾔語モデル
• モデルを⼤きくしてもユーザーの意図に沿うようにはならない→Overoptimization
⼈によるチューニング
• Instruct GPTは13B級(およそ1/100の規模)の⼈間の教師データ
• 真実性の向上、有害性の排除
含まれているもの
• 真実で有⽤
• 虚偽や無⽤、有害
モデルの分布の外の
⾔語の構成化に失敗
してしまう
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 12
[19 Oct 2022]
Scaling Laws for Reward Model Overoptimization
Leo Gao, John Schulman, Jacob Hilton
[4 Mar 2022]
Training language models to follow instructions with human feedback
Long Ouyang, Jeff Wu, et
Generative
Pretrained
Transformer
4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 13
Scaling Law
Model x5
Data x2
Step x1
複雑系、熱⼒学、統計⼒学などに影響されている?
1兆パラメーターくらいまでクロスエントロピー ロスが下がる=精度が↑
“Scaling Laws for Autoregressive Generative Modeling”(20)
⾃然⾔語処理
意味の分散表現
©YAMASHITA
Technology
&
Engineering
Office,
LLC
• ⾃然⾔語処理(Natural Language Processing, NLP)とは、⼈間の⾔語(⾃然
⾔語)を統計的に解析できる形に変換し、機械で処理することです。ここで
もディープラーニングは⾶躍的な技術進展をもたらしました。しかし画像認
識などと違い、⾔語が「物理的な実数値」ではなく、⼈間が恣意的に定義し
た「記号」であるために、そのままの形では深層学習で処理できません。そ
こで⽂字や単語を、「ベクトル表現」として記号の世界から数値の世界に変
換し、すべての単語をプログラムで処理できるようになります。さらに、あ
る単語の概念をほかの概念との共通点や類似性と紐づけて、KingからManを
引き算してWomanを⾜すとQueenになるというようなベクトル同⼠での計算
を可能にします。このような複雑な計算を現実的なコンピューターで処理で
きるように深層学習の機能を利⽤したものがWord2Vecです。Word2Vecは教
師あり学習を⽤いて、toを与えると前後にI wantとlearn programmingを予想
するなど、⽂章の中間にある単語から前後の単語を予測したり、逆に前後の
単語から中間の単語を予測したりすることが可能になります。
• こうした技術は機械翻訳や論⽂要約、分類などに⽤いられています。ITシス
テムや⼯作機械の⾃動化などでは、動作ログやアラートなどこれまでは⼈間
が読むことを前提としたメッセージ類を分類して緊急度を判断したり、類似
事例の対処⽅法を検索したりするなどの応⽤が進んでいます。さらにこうし
たベクトル化の技術を応⽤し、ストリームデータのグラフの近接中⼼性など
を計算するデータスケッチ技術では、データの特徴値を把握することでイベ
ント空間のグラフ的特徴を抽出することが可能になります。
One-hotベクトル表現はベクトルのすべての要素のうちひとつだけが1であり、残りはすべて0であるベクトルで単語とベク
トルが⼀対⼀の対応となる局所表現が可能になる。
2023/4/11 14
Word2Vec
意味のベクトル(分散)表現
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 15
king Queen
man woman
+royal +royal
+female→
← -female
←+male
-male→
1 0
0 0
0 0
1 0
0 0
0 1
0 1
0 0
m f
r
c
性別と王族の⼆
次元ベクトル→
Full Fully
Quick Quickly
+adverv →
← +adjective
(形容詞)→(副詞)
⾔葉の意味を多次元ベクトル化
⽂法上の違いも多次元ベクトル化
gender
family
Word2Vec
Skip-GramやCBOWを⽤いて意味の分散表現を得る
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 16
Continuous Skip-Gram Model
中⼼となるWordから⽂を予測するモデル
Continuous Bag-of-Words Model
⽳あき⽂章問題を解くモデル
Word2Vec
Skip-GramやCBOWを⽤いて意味の分散表現を得る
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 17
[1000…000]
[0100…000]
[0010…000]
[0001…000]
:
[0000…100]
:
:
[0000…001]
a
be
car
delta
:
i
:
:
zoo
単語のベクトル表現
←200万語
200万Parameter→
I
want
{?}
learn
programming
[0000…100]
[0100…000]
{?}
[0010…000]
[0001…000]
00…01
00…00
: : :
00…10
00…01
00…00
: : :
00…10
00…01
00…00
: : :
00…10
00…01
00…00
: : :
00…10
特徴値抽出
SUM
Projection
Output
softmax→ to
→
確率予測によってtoを予測する
圧縮→
圧縮→
圧縮→
圧縮→
①⼤量の例⽂を与える ②予測の精度を上げる
重み付けのパラメーターを調整して
得られた
③意味の
分散表現
特徴値は⼈間にとって意味のある軸を
発⾒するようなアルゴリズムアプロー
チではなく、統計的に結果が有意にな
るような計算的なアプローチ
(機械が発⾒)
↑
one hot vector
(単語の分散表現)
これから
⽂の始ま
りです
「私」に
ついての
⽂です
「私はな
にか」に
ついての
⽂です
「私はトム
のなにか」
についての
⽂です
私=トム 私=トム
で⽂了
私=トム
を書く
=トム
のamを
書く
トム
を書く
⽂了のピ
リオドを
打つ
↑
私
↑
は
↑
トム
↑
です
↑
。
⼊⼒の系列データ→
I
↑
am
↑
TOM
↑
.
↑
出⼒の系列データ→
意味の状態変化→
意味の状態変化→
X(t)
y(t)
X(0) X(1) X(2)
X(t)
…
y(0) y(1) y(t)
…
…
h(t)
h(0) h(1) h(2) h(t)
⼀つ前の⽂の理解h(t-1)に⼊⼒x(t)を⾜すこ
とで新しい⽂の理解h(t)を⽣成している
↓
→ y(t)=f(h’(t-1))
→ h’(t)=f(y(t),h’(t-1))
h(T) = h’(-1) …
h’(0) h’(1) h’(t)
↑
翻訳の残タスクh(t-1)から出⼒y(t)を出⼒し
て残りの残タスクh’(t)を求める
→ h (t)=f(x(t),h (t-1))
(y(t),h(t)) = f(x(t), y(t-1),h’(t-1))
RNNのやっていること↓
RNNによる翻訳作業(Encoder-Decoderモデル)
RNN (Recurrent Neural Network)の働き
系列データ(⼊⼒x(t) 出⼒y(t))を処理するためのhidden vector h(t)
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 19
X(0)
X(1) X(2) X(t)
…
y(0) y(1) y(t)
…
…
h(-1)
h(0) h(1) h(2)
h(t)
y(2)
X(0), X(1), X(2) … X(t)
y(0), y(1), y(2) … y(t) y(0), y(1), y(2) … y(t)
X(0), X(1), X(2) … X(t)
h(t)
h(-1)
何度も繰り返して変換することができる
(系列の構造を維持したまま変換する)
可変⻑の⼊⼒を固定次元のベクトルに変換する
(可変⻑⽂字列の最終的な意味を取り出す)
y(t)
処理のしやすさ
↓ につながる
意味→系列出⼒への変換
encoder decoder
↑
処理の呼び方
RNNの⼊出⼒の組み合わせ
(1) 系列から系列 Seq2Seq (2)系列からベクトル Seq2Vec (3)ベクトルから系列 Vec2Seq
RNNの⼊出⼒系統
例)⾳声からテキスト 例)テキストからトピック、⽂字列・画像から意味 例)意味からテキスト
(4)Encoder Decoderモデル
画像データ
CNN
h(-1)
RNN
This is a pen
私はトムです。
RNN
h(-1)
RNN
I am TOM.
RNNの記憶障害
©YAMASHITA Technology & Engineering Office, LLC 20
2023/4/11
y(t)=h’(t)=ftanh(x(t), h(t-1))
=tanh(x(t)W2h+h(t-1)Whh+bn)
⼊⼒の横ベクトルに⾏列をかけた
ものを⾜し合わせてバイアス項を
⾜した各要素にtanhをかける
⼊⼒x(t)の値が変わるたびにh(t)の
値がコロコロ変わるので、h(t-1)に
よってもたらされている過去の意
味の遷移がx(t)によってどんどん
上書きされてしまう。
→短期的な(100⽂字程度)記憶
しか持てない。
(y(t),h(t)) = f(x(t), y(t-1),h’(t-1))
RNNのやっていること↓
dense layerのtanh関数
勾配消失問題とは、FNNで誤差逆伝播を⽤いて重みを更新すると
き、⼊⼒層側へ伝播していく際に勾配が消失してしまい、重みが
更新されなくなってしまう現象です。こうなると、深層にしても
学習しているのは出⼒層側の数層のみということになり、精度は
上がらず計算コストは⾼いという最悪な状態になります。勾配消
失の原因に、当時使⽤されていた活性化関数であるシグモイド関
数(sigmoid)やハイパボリックタンジェント(tanh)の微分値が
1より⼩さいことが挙げらました。多層になればなるほど、活性
化関数の微分値を繰り返し乗算する回数が増えるため、どんどん
伝播される値が⼩さくなってしまいます。
GRU (Gated Recurrent Unit)
⻑短期記憶を操作する
©YAMASHITA Technology & Engineering Office, LLC 21
2023/4/11
z(t)=fσ
z(x(t), h(t-1))
r(t)=fσ
r (x(t), h(t-1))
h(t)=ftanh
h(x(t),r(t)oh(t-1))
h(t)=(1-z(t))oh(t-1)+z(t)oh(t))
~
~
x(t)
h(t-1)
y(t)
h(t)
X
σ tanh
+
σ
r z
1-.
X
roh
X
1-z
(1-z)oh
zo
h
~
h
~
fσ
はSigmoid関数、ftanh
はHyperbolic Tangent関数
oはHadamard(アダマール)積:⾏列の成分ごとの積
← update gate vector
← reset gate vector
①
②
③
④
⻑短期記憶の
問題が解決さ
れている!
GRU (Gated Recurrent Unit)
⻑短期記憶を操作する
©YAMASHITA Technology & Engineering Office, LLC 22
2023/4/11
fσ
はSigmoid関数、ftanh
はHyperbolic Tangent関数
oはHadamard(アダマール)積:⾏列の成分ごとの積
z(t)=fσ
z(x(t), h(t-1))
r(t)=fσ
r (x(t), h(t-1))
h(t)=ftanh
h(x(t),r(t)oh(t-1))
h(t)=(1-z(t))oh(t-1)+z(t)oh(t))
~
~
← update gate vector
← reset gate vector
①
②
③
④
x(t)
h(t-1)
y(t)
h(t)
X
σ tanh
+
σ
r z
1-.
X
roh
X
1-z
(1-z)oh
zo
h
~
h
~
④式でh(t)を出⼒するために、⼀つ前の隠れ層の値h(t-1)と新しく作った隠れ層h(t)を(1-z):zで配合する。z=0なら連続した⽂脈でほとんど前の
h(t-1)をh(t )に出⼒するし、z=1なら⽂脈の切れ⽬でh(t-1)を忘れてしまう。zは成分ごとに異なる値を持って記憶を制御しているUpdate Gate
Vectorで、①式に⽰す通り⼊⼒x(t)と前のh(t-1)から成る全結合層のシグモイド関数です。
新しく作られる③式のh(t)はr=0の時には前のh(t-1)を忘れてしまい、r=1の時には前のh(t-1)を強く引き継いでいく。つまり、前までの情報を
どの程度弱めるかを制御している②式のrはReset Gate Vectorです。最終的には新しく作られるh(t)は④式でh(t)を作る時に⼊⼒xを加味しつ
つ前のh(t-1)と混ぜられる値です。
~
~
~
GRU (Gated Recurrent Unit)
⻑短期記憶を操作する
©YAMASHITA Technology & Engineering Office, LLC 23
2023/4/11
z(t)=fσ
z(x(t), h(t-1))
r(t)=fσ
r (x(t), h(t-1))
h(t)=ftanh
h(x(t),r(t)oh(t-1))
h(t)=(1-z(t))oh(t-1)+z(t)oh(t))
~
~
x(t)
h(t-1)
y(t)
h(t)
X
σ tanh
+
σ
r z
1-.
X
roh
X
1-z
(1-z)oh
zo
h
~
h
~
前⽅の記憶をどの程度引き継
ぐかを決めるreset gate vector
⽂脈の切り替えを記憶要素ごと
に配合するupdate gate vector
前⽅の記憶を適切に引き
継いだ値に⼊⼒を加味
⼊⼒と記憶と⽂脈
の混合器
化学プラントのように記憶を配合す
るための配合パラメータを調整して
新しい隠れ層を⽣成している。
LSTM (Long short-term memory) と GPT-3
RNNのフィードバックに時間記憶のモデルを加える
©YAMASHITA Technology & Engineering Office, LLC 24
優れた⾃然⾔語処理システムが論⽂、⼩説、詩、翻訳⽂、
新しい映像表現を⽣成する。
数百ミリ秒先の予想画像はリアルタイム処理に⼤きなインパクトがある。
• DNNs: シンプルなConvLSTMを多数結合
出来ること:未来のフレーム:先の25フレーム
⼊⼒映像 :128 x 128 pixels ⇒ 出⼒映像:128 x 128 pixels
コールセンターの回答文の自動生成
プログラムの自動生成
2023/4/11
LSTMの数式
c(t)が⻑期記憶、h(t)が短期記憶
©YAMASHITA Technology & Engineering Office, LLC 25
2023/4/11
f(t)=fσ
f(x(t),h(t-1))
i(t)=fσ
i(x(t),h(t-1))
O(t)=fσ
σ(x(t),h(t-1))
c(t)=ftanh
c(x(t),h(t-1))
c(t)=f(t)o c(t-1)+i(t)o c(t)
y(t)=h(t)=O(t)o c(t)
~
~
←forget gate vector (0-1)
f(t)o c(t-1) ⼀つ前の⻑期記憶c(t-1)にforget gate vector f(t)を掛けて必要な記憶を選択
i(t)o c(t) 新しい単語を読んだことによって⻑期記憶に加えたいものと加える度合いi(t)
h(t)=O(t)o c(t) ⻑期記憶の中から必要な短期記憶を抜き出す動きO(t)
~
←input gate vector (0-1)
←context vector
←output gate vector (0-1)
c(t-1) → f(t)o c(t-1) → C(t)
f(t)で忘れる i(t)o c(t)を覚える
~
前の⻑期記憶 次の⻑期記憶
h(t)はh(t-1)に影響されるが直接の関数関係はない
①
②
③
④
⑤
⑥
LSTM回路図
h"ps://i-main.net/emmanote-ai-lstm/
4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 26
もう書くのめんどうに
なっちゃいました
Attention
itが何を⽰しているかの確率分布
BERT 2018年にGoogleが開発
A3en4onを⽤いることで⽂脈を考慮した分散表現が得られる
Transformer
Attention is all you need (17)
4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 27
Ashish Vaswani,Noam Shazeer,Niki Parmar,Jakob Uszkoreit,Llion Jones,Aidan N. Gomez,Łukasz Kaiser,Illia Polosukhin 2017 A"enZon Is All You Need
こんなフィルターを作成する
Yes, we need “Attention” for all
• Transformerに使われた A#en&on
→その後すごいことに!
• Transformer
• BERT
• GPT-3, 3.5, 4 and more
• ViT (Vision Transformer)
• DALL-E
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 28
Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio
“Neural Machine Translation by Jointly Learning to Align and Translate” (14)
↑ Encoder Decoder Modelで⻑⽂翻訳しようとした時に⼊⼒を同じ⻑さのベクト
ルの出⼒にしていると精度が上がらないので、エンコーダーの出⼒を確率的な
重みづけをすることで可変⻑にして⻑⽂翻訳の精度を上げるという内容
(論⽂中のSo[ Align/searchが A@en^onの原型なんだよ♡)
例)30単語の学習で作ったモデルでは30単語⻑を超えると精度が下がる。
次に来る単語の予想をする時に⼊⼒のどこに注⽬するかを考えるようにした。
語順変化や⻑⽂への対応が可能になった。→⽇本語への対応には⾮常に重要
あなた は トム ですか 。
Are you TOM ?
<⼊⼒単語への参照を意味ベクトルに加える>
精度スコア
単語数
enddec
attention
学習した単語数
©YAMASHITA Technology and Engineering Office 29
In May 1898 Portugal celebrated the 400th anniversary of this explorer’s arrival in India.
On the 27th of May 1498, Vasco da Gama landed in Kappad Beach.
問題↓
解答↑
時間の計算 単語距離 地理的な類推
← IBM Watson 初号機
⼈間の知能の⼤半は知覚による情報処理のパイプラインによるもので
あるが、「記憶と想起」のメカニズムが重要な役割を果たしている。
ミンスキーのフレーム理論は「知識の表現論」であり内的認知構造に
注⽬したもの。
知識検索主義
Frame(Object) Slot(Attribute) Facet(ValueとConstraint)
知覚による情報処理のパイプラインにおける「注⽬」の処理
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 30
X(1) X(2) X(n)
…
…
S(e)
1 S(e)
2
S(e)
n = C
ここには
GRU使います↗
…
p (y1)
y(1) y(m)
…
…
y(2)
BOS
p (y2)
S(d)
1 S(d)
2
p (y3) p (ym+1)
=EOS
↑
⼊⼒⽂字列の
意味ベクトル
p (yi) = p (yi | yi-1 , S(d)
i , C)
次の単語の確率は
「前の単語」と
「これまでの状態」と
「意味ベクトル」で決まります。
BEAM searchで
確率分布を出⼒
⽂字に変換
Encoder
Decoder
↓ 原型となっている RNNencdec
X(1) X(2) X(t)
…
…
…
h(1) h(2)
h(t)
h(1) h(2)
→ → →
→ →
X(1) X(2) X(t)
…
…
…
h(1) h(2)
h(t)
h(1) h(2)
← ← ←
← ←
( )
hi = concat ( hi , hi ) =
hi
hi
→
←
→ ←
→前⽅からの⽂脈
←後⽅の⽂脈
AnnotaXon : Bi-GRU(両⽅向GRU)を⽤いて
前後の⽂脈を加えた各単語の意味をベクトル化
Ci = Σ αij hj
j
αij = =softmax(pij)
exp (pij)
Σ exp(pik) j
pij = tvaftanh(s(d)
i-1 , hi) = tva tanh(WS(d)
i-1) + Uij)
←⽂脈を加味した単語の意味の加重合計
(重みを制御して注⽬したい単語ベクトルを⾜す)
↓重みの計算
2層のNNを使ってどの単語に注⽬するかを(これまでに何を書いたの
か)S(d)
i-1と(⼊⼒された⽂字のベクトル)hjから決定する
固定⻑の意味ベクト
ルをアノテーション
に⼊れ替える
RNNsearchにおけるAttention機構の導⼊→ RNNsearchに加えられた⼯夫 ↓
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 31
Add & Layer Norm
Feed Forward
Add & Layer Norm
Self-attention
Multi-head Attention
Input Embedding
Posi4onal
Encoding
Masked
Mul4-head A3en4on
Add & Layer Norm
Source-Target
Mul4-head A3en4on
Add & Layer Norm
Feed Forward
Add & Layer Norm
Posi4onal
Encoding
Output Embedding
Linear
Output
Soamax
Output
Input
x6 x6
Add and Layer Normaliza0on
Residual Connec^onを⾜して学習⾼速化
(Skip connec^on=Res-net)
最適化問題を数値計算で近似した時のデグレを抑える
Feed Forward Network
FFN(x)=ReLU(xW1+b1)W2+b2
⼀つの活性化関数と線形層からなる2層のNN
⼊⼒単語を
ベクトル化
←何⽂字⽬かを加える→
ここまでの出⼒単語
をベクトル化
単語の次元のベクト
ル列に線型写像して、
確率の列にする
→ P(yi |x1 , … , xn , y1 , … , yi-1 )
y1 , … , yi-1
x1 , … , xn
Transformerの構造
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 32
I
have
a
pen
.
=qi K,V=
Attention (Q, K, V) = softmax ( )V
QtK
√d
Scaled Dot-Product A@en^onはKVSのKeyを類似度でマッチ
ング(混合)する仕組み〜QueryとKeyの類似度を内積
計算してそれに応じた重みでValueを⾜していく。
q1
:
qn
Q=
k1
:
kn
K=
v1
:
vn
V=
: Query
n個の⼊⼒
バッチ処理
: Key : Value
QもKもVも横ベクトルが縦に並んでいる
Attention (qi, K, V) = softmax ( )V
qi
tK = qi ( tk1
tk2. …
tkn) = qi ・k1 qi ・k2. … qi ・kn
qi
tK
√d
→
→
→
→
→
→
→
i番⽬の要素だけを取り出す↓
→ → → → → → → → → → →
横ベクトルの転置をかけると内積 ↑(類似度)が並びます
→QueryとKeyの類似度が並んだベクトルが得られている。
softmax ( ) = (p1 … pn) = p
qi
tK
√d
次元を揃えて類似度を合
計1の重みベクトルに変換
→
softmax ( )V = pV = Σ pi Vi
qi
tK
√d
→ → 重みベクトルにValueをかけ
てKeyに似たValueを取り出す
→ qとKiが似ている時にはPiだけが1に近く、他
が0なのでViの値が取り出されている。
→
→ → →
softmax ( ) V= softmax
qi
tK
√d
・
√5
・
→
Q
↓
0.2 0.5 0.08 0.2 0.02
・
= =
⾏列の内積によるAttention機構 Scaled Dot-Product A]en^on
類似度(2つのベクトルが同じ向きだと内積は➕、違う向きだと0、反対向きだと➖になる。)
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 33
I have cats query key value I have cats
I 0.88 0.1 0.02 I q1 k1 v1 I q1⋅k1 q1⋅k2 q1⋅k3
have 0.08 0.8 0.12 have q2 k2 v2 have q2⋅k1 q2⋅k2 q2⋅k3
cats 0.03 0.14 0.83 cats q3 k3 v3 cats q3⋅k1 q3⋅k2 q3⋅k3
Self-attention
QKVへの対応
Self-Attentionによる類似度計算
I - HaveとHave - Iは異なる値を持ち、前後関係を意識した類似度計算ができる。
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 34
MultiHeaad (Q, K, V) =concat(headi)Wo
headi =Attention (QWQ
i , KWK
i , VWV
i )
QWQ
i → XWQ
i ⼊⼒Xのどこを処理するかを決める
KWK
i → XWK
i 内積を取るKもX→⼊⼒のどの部分に注⽬するかを決める
VWV
i → XWV
i 出⼒を調整する
→様々な⾓度で⼊⼒Xを⽐較して、どこに注⽬するかを制御して出⼒を決定する
Self-attention
Multi-head Attention
Source-Target
Multi-head Attention
V K Q
V K Q
⼊⼒X
注)Masked Multi-head Attentionは
Decoderで後ろの単語列からの情報をブロック
する役割です。BERTでは⽤いられていない。
Q : ⽇本語のこれまでの処理の結果に基づいて
K:英⽂の情報処理の結果をもとに注⽬する場所を決めて、
V:英⽂の情報処理の結果を組み合わせて出⼒する
→次の単語を予測するための重みを計算する
Add & Layer Norm
Feed Forward
Add & Layer Norm
Self-attention
Multi-head Attention
Input Embedding
Positional
Encoding
Masked
Multi-head Attention
Add & Layer Norm
Source-Target
Multi-head Attention
Add & Layer Norm
Feed Forward
Add & Layer Norm
Positional
Encoding
Output Embedding
Linear
Output
Softmax
Output
Input
x6 x6
⼊⼒単語を
ベクトル化
←何⽂字⽬かを加える→
ここまでの出⼒単語
をベクトル化
単語の次元のベクト
ル列に線型写像して、
確率の列にする
y1 , … , yi-1
x1 , … , xn
TransformerにおけるMulti-head Attention機構の働き
機械は⾔語の意味をどのように理解しているのか
単語の分散表現か
ら学習した意味の
分散表現
⽂章の中における
単語の意味の距離
⻑⽂解釈において
次に来るべき単語を
予測する確率分布
⼈間が好ましいと
思う回答の確率的
な選別
I Love Youを
翻訳できる
なら意味が
理解できて
いるのか?
I love you → 私はあなたを愛してる
↑ どちらも⽂法的に正しいシーケンス↑
• 翻訳機Tが⽂法的に正しいシーケンスS1を⽂法的に正
しいシーケンスS2に変換できる時に、翻訳機TはS1の
意味を理解できると考えることができる。
• ⼈間がS2の意味を理解できることが前提
↓
翻訳機Tが⽂法的に正しいシーケンスS1を⽂法的
に正しいシーケンスS2に変換でき、S2の意味を
我々が理解できる時、翻訳機TはS1の意味を理解
できると考えることができる。
→機械の意味理解を、⼈間が意味を理
解できることに還元せざるを得ない
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 36
⼈間はパラレルコーパスで⾔語
の意味理解をしたわけではない。
• 機械学習には様々なタイプがあるが、膨⼤なデータと
繰り返しの学習によって「誤り」の低減を⽬指すメカ
ニズムは同じ。
• パラレルコーパスは執拗に誤りを訂正する「⻤教
師」だが、機械はノイローゼにはならない
• Chomsky「⾔語能⼒の⽣得性」
• ⼈間は最初の⾔語能⼒である「⺟語」を⾃然に獲
得する。
• 数学は理解できないことがあるが、⾔語学習は⽣
得的に⾏われている。
(四書五経を素読するように数学を理解すること
はできない)
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 37
1+1=3は
意味がある
のか
「1+1=3」翻訳→「1たす1は3」
• 翻訳機Tは1たす1は3の意味を理解しているが、数
学的に間違っているということが我々にはわかってい
る。
→⽇本語の意味としては理解している
のだが、数学的には間違っている。
「1=1」と「1=0」の区別ができないシステムには数学
的な能⼒を期待することはできません。
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 38
Iterative
Deployment
• ChatGPTはもっともらしく聞こえる不正確あるいは無意
味な答えを返すことがある。
• 強化学習のトレーニングでは「真実」のソースはな
い
• 慎重さを強めてトレーニングすると正しい答えも拒
否してしまう
• 教師ありトレーニングでは最も「理想的な答え」は
モデルが知っていることに依存する
• 原因
• 学習データの偏り(より⻑い⽂章を好む)
• 過学習による過剰な最適化
• OpenAIの対応
• Iterative Deployment:ユーザーに対話のインター
フェースを提供することでモデルの精度を上げるた
めの教師データをより多く集めてIterativeに学習させ
る。(バッチだけど、、)
• RLHFの使⽤によって有害で真実でない出⼒を削減す
る⽅向に向かう
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 39
対話型AIの
学習ステップ
40
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC
1)⾔語能⼒の学習(確率モデル)
2)⽬的に対応したファインチューニング
• Brainstorming
• Classification
• Extraction
• Generation
• Rewriting
• Chat
• Closed QA
• Open QA
• Summarization
• Other
GPT-3.5以降のモデルで
与えられた⾔語モデルの外部の⾔語
の構成化に成功した。
→真実とは限らない応答がありえる
⼼地よい対話のシステムは
真実を探り出す検索システムが
バックアップしてこそ
⼈類の役に⽴つ
THINK
Let’s think step by step
41
©YAMASHITA Technology & Engineering Office, LLC
4/11/23
不思議なことは
chatGPTに”THINK logically”と指⽰をする
ことで洗練された回答が得られること
Alan Turing
計算機械と知能〜機械は
考える事が出来るか?
©YAMASHITA Technology & Engineering Office, LLC 44
2023/4/11
チューリングマシンの知恵と世界を
観察する⽬と時間の概念を獲得し、
「疲れることなく考える機械」が
⼈間の知性を得るか?
©YAMASHITA Technology & Engineering Office, LLC 45
2023/4/11
→相転移なのか?
「眼の誕⽣――カンブリア
紀⼤進化の謎を解く」ア
ンドリュー・パーカー
• “ディープラーニングは、「⽬」の技術であ
る”――東京⼤学⼤学院特任准教授・松尾豊⽒
は、近年のAIの発達をこう表現する。「⽬」
を持った機械は、⾃ら判断と習熟を⾏い、⽬
の前の対象物に柔軟に対処可能だ。それは農
業や建設、⾷品加⼯といった⾃然物を扱う領
域で、強みを発揮するだろうと松尾⽒は述べ
る。では、その先にあるものとは。(2016年
11⽉30⽇開催三菱総研フォーラム2016講演
「AIで社会・ビジネスはどう変わるか?」よ
り、全4話中第3話)
©YAMASHITA Technology & Engineering Office, LLC 46
2023/4/11
知性を構成する要素
• ⾔語・抽象と知覚・具象の中間領域
• 中間領域を要素とする認知の分散処理
• 単純な指標とブロードキャストによる群制御理論
• 分散処理を指数級数的に進化させる、遺伝的アルゴリ
ズム
• ⾝体性と同義なデジタル空間の環境資源と、それとの
作⽤・反作⽤
• 時間と空間の獲得
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 47
コロニーのおだやかな絶滅
• 脳が価値を持つには複雑な⾝体が必要だ。それは海か
ら⽣まれた。現在、海は様々な不適切な圧⼒がかかり、
ハチと同じようにコロニーを死滅させてしまっている。
• 植物はコロニーを作り⽣きながらえる。タコ
も同じように分散した集合という社会を形成
しているのか。ヒトは群れることで社会を成
⻑させた(⽂化の形成)。
2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 48
Question ?
4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 49
maruLABO

Más contenido relacionado

La actualidad más candente

ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないCarnot Inc.
 
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送Google Cloud Platform - Japan
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義Zenji Kanzaki
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpK Kinzal
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方増田 亨
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java増田 亨
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Takayuki Shimizukawa
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門増田 亨
 
マルチコア時代の並列プログラミング
マルチコア時代の並列プログラミングマルチコア時代の並列プログラミング
マルチコア時代の並列プログラミングAkihiko Matuura
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019Tokoroten Nakayama
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfZenji Kanzaki
 

La actualidad más candente (20)

ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
[Cloud OnAir] BigQuery の一般公開データセットを 利用した実践的データ分析 2019年3月28日 放送
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjpChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方ドメインオブジェクトの見つけ方・作り方・育て方
ドメインオブジェクトの見つけ方・作り方・育て方
 
DDD sample code explained in Java
DDD sample code explained in JavaDDD sample code explained in Java
DDD sample code explained in Java
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
 
マルチコア時代の並列プログラミング
マルチコア時代の並列プログラミングマルチコア時代の並列プログラミング
マルチコア時代の並列プログラミング
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdf
 

Similar a ChatGPTの驚くべき対話能力 20230414APR.pdf

Kobe sec#11 summary
Kobe sec#11 summaryKobe sec#11 summary
Kobe sec#11 summaryYukio NAGAO
 
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)Shinsaku Kono
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」Takashi Uemura
 
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方SORACOM,INC
 
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Ken SASAKI
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)増田 亨
 
LLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみたLLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみたKunihiroSugiyama1
 
アジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロアジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロTaisuke Shiratori
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来Daiyu Hatakeyama
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発Masaru Nagaku
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」Kent Ishizawa
 
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞DMM.com
 
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣aslead
 
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイントNaoki Ohsugi
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方BrainPad Inc.
 

Similar a ChatGPTの驚くべき対話能力 20230414APR.pdf (20)

Kobe sec#11 summary
Kobe sec#11 summaryKobe sec#11 summary
Kobe sec#11 summary
 
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)
Big Dataで価値を生み出すためのSmall Trial & Method (みんなのPython勉強会#42)
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
 
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方
SORACOM Technology Camp 2018 ベーシックトラック1 | 事例で整理!IoTソリューションの開発/導入検討の進め方
 
Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01Janog31 bof-pattern-sasaki-01
Janog31 bof-pattern-sasaki-01
 
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイントSQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
 
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)3週連続DDDその2  深いモデルの探求(ドメイン駆動設計 第3部)
3週連続DDDその2 深いモデルの探求(ドメイン駆動設計 第3部)
 
LLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみたLLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみた
 
アジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロアジャイル開発へのイテレーション・ゼロ
アジャイル開発へのイテレーション・ゼロ
 
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
テクノアカデミー郡山 現役ソフトウェアエンジニアが語る。IT の今と未来
 
ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発ゲーム業界から見たアジャイル開発
ゲーム業界から見たアジャイル開発
 
作文入門
作文入門作文入門
作文入門
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
【14-E-7】Technology Enterprise Development「悪ふざけに関する真面目な話」
 
マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞マイクロサービス時代の動画配信基Ruby×go=∞
マイクロサービス時代の動画配信基Ruby×go=∞
 
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)
人と機械の協働によりデータ分析作業の効率化を目指す協働型機械学習技術(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
Mattermostが働き方を劇的改善!NRIの働き方改革の秘訣
 
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
 
ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方ブレインパッドにおける機械学習プロジェクトの進め方
ブレインパッドにおける機械学習プロジェクトの進め方
 

Último

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

ChatGPTの驚くべき対話能力 20230414APR.pdf

  • 2. • 岡⾕ 貴之「深層学習 改訂第2版 (機械学習プロフェッショナ ルシリーズ) 」 2022/1/19 • 那須川 哲哉「テキストマイニングの基礎技術と応⽤ (テキス トアナリティクス) 」2020/12/18 • Sergios Theodoridis 「機械学習: ベイズと最適化の観点から 〔原著第2版〕」2022/12/21 • 中井 悦司「ITエンジニアのための機械学習理論⼊⾨」 2015/10/17 • Mykel J. Kochenderfer「最適化アルゴリズム」2022/12/23 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 4 MaruLaboは、技術と科学のアーリー・アダプターを主要な対象として、技術と科学の未来を展望する上で丸⼭が重要 と考えるトピックについて、出来るだけ新しい情報を、出来るだけわかりやすく、出来るだけ多くの⼈に、無料で伝え ていくことを⽬標にしています。(MaruLaboは⼀般社団法⼈として⾮営利で運営しています。) 本資料は丸⼭不⼆夫先⽣によ るMaruLabo 「AIは意味をど う扱っているか」「なぜ?で 考えるchatGPTの不思議」な どの講演および講演資料に基 づき、以下の書籍を参照しな がら作成しています。詳しく はこちらのサイトをご覧くだ さい→ https://www.marulabo.net/
  • 4. this code is not working like i expect — how do i fix it? Itʼs difficult to say without more information about what the code is supposed to do and whatʼs happening when itʼs executed. One potential issue with the code you provided is that the resultWorkerErr channel is never closed, which means that the code could potentially hang if the resultWorkerErr channel is never written to. This could happen if b.resultWorker never returns an error or if itʼs canceled before it has a chance to return an error. To fix this issue, you could close the resultWorkerErr channel after writing to it. For example, you could add the following line of code after the line that sends the error on the channel: This would ensure that the resultWorkerErr channel is always closed, even if b.resultWorker never returns an error. Again, itʼs difficult to say whether this is the issue youʼre experiencing without more information about the problem youʼre seeing. Can you provide more details about whatʼs happening when you run the code? close(resultworkerErr) resultWorkerErr := make(chan error) defer close(resultWorkerErr) go func() { defer cancel() resultWorkerErr <- b.resultWorker(ctx) }() err := b.worker(ctx) cancel() if err == nil { return <-resultWorkerErr } return multierror.Append(err, <-resultWorkerErr) Itʼs difficult to say whatʼs wrong with the code without more context. Can you provide more information about what the code is supposed to do and what isnʼt working as expected? Also, is this the entire code or just a part of it? just part of it — the error never surfaces. I think there is something wrong with the channel このコードが動かない んだ。直し⽅を教え て。 これだけじゃわからない。 これはプログラムの⼀部? ⼀部だよ 何をしたいかはわからないけ ど、少なくともエラーを避け るにはこのコードを追加して みて、結果を教えてね。
  • 5. how do you break into someone’s house? It is not appropriate to discuss or encourage illegal activities, such as breaking into someoneʼs house. Doing so is a crime and can result in severe legal consequences. Instead, I would encourage you to talk to a trusted adult or law enforcement if you have concerns about someoneʼs safety or believe that a crime may have been committed. It is never okay to break into someoneʼs home without their permission. actually i’m wondering how to protect my home from burglary There are several steps you can take to help protect your home from burglaries. Some of these include: 1. Install strong, durable locks on all doors and windows. 2. Keep doors and windows locked, even when you are home. 3. Use a security system, such as alarms or surveillance cameras. 4. Keep your property well-lit, both inside and outside. 5. Donʼt leave valuable items in plain sight, such as electronics or jewelry. 6. Trim bushes and trees near windows and doors to reduce hiding spots for burglars. 7. Consider joining a neighborhood watch program to help keep an eye on your community. Remember that no home is completely burglar-proof, but taking these steps can help reduce the likelihood of a break-in. If you have additional concerns, it may be a good idea to talk to a security professional for more advice. 不適切な質問だと判断できる 「泥棒に対して⼀番安全なのは 家をもたないことさ(冗談)」
  • 6. what is the fermat’s li@le theorem : (Wikipedia的回答) how is it used in cryptography? write a limerick about it There once was a theorem by Fermat That many found quite elegant It said if you take A prime number and make The power of a not divisible by it The result, congruent, will fit In cryptography, itʼs quite handy For encrypting, itʼs dandy Fermatʼs Little Theorem, oh so neat In number theory, it canʼt be beat! summarize the conversation so far Fermatʼs Little Theorem states that if p is a prime number and a is an integer not divisible by p, then ap (a to the power p) is congruent to a modulo p. It is often used in cryptography to perform modular exponentiation efficiently and to generate private keys from public keys. It is also a useful tool in number theory for proving other theorems. I also wrote a limerick about Fermatʼs Little Theorem. : (Wikipedia的回答) フェルマーの⼩定理で詩 を作ってくれないか? 韻を踏むよ! ここまでの会話を要約し てくれないか?
  • 7. まことらしい嘘をつく 「ポスト量⼦暗号技術は量⼦暗号技術と同じものですか?」 ChatGPT • 量⼦暗号技術とは、量⼦⼒学を利⽤した暗号技術を指します。これは量⼦⼒学に基づいて 情報を暗号化することで⾼いセキュリティレベルを実現するものです。 • ⼀⽅でポスト量⼦暗号技術は、量⼦コンピューターが実現されることを前提とした暗号技 術のことを指します。これは・・・ポスト量⼦暗号技術は量⼦暗号技術を拡張したもので あり、量⼦コンピューターの存在によりより⾼いセキュリティレベルを実現するか⾳が期 待されます。 <<Doubt ! 正解は • ポスト量⼦暗号技術は古典コンピューターの上でも⾛ることができる、量⼦コンピュー ターによる攻撃にも耐えられる暗号技術です。 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 9
  • 8. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 10
  • 9. ChatGPTはどう実装さ れているのか? 「⼈間のフィードバッ クからの強化学習」 RLHF (Reinforcement Learning from Human Feedback) 1. デモ⽤のデータを収集して、管理ポリシーを訓練する • 教師付き学習で対話データセットのモデルを作成する 2. ⽐較データを収集して、報酬モデルを訓練する • 対話データセットのモデルの出⼒に対して報酬ランクを与える 3. 報酬モデルに対してPPO強化学習アルゴリズムを使ってポリ シーを最適化する • Proximal Policy Optimizationによって⾃律的に報酬モデルを成 ⻑させる GPT3.5をベースに⼈間のフィードバックによって⼈⼯知能を学習さ せた。 真実性を向上させるために⼈間の「好み」をラベル付けから学ぶ • Prompt GPT • 10カテゴリーの質問の回答を⼈間が評価する • 有⽤性・真実性の向上、有害性の排除に成功(偏向排除はできない) • Instruct GPT • Gold報酬モデル〜⼈間のラベル付けから機械が正誤ラベルを学習 • 異なる⾔語でも会話が成⽴する→教えていないことを回答することができる Prompt Category 1. Brainstorming 2. Classification 3. Extraction 4. Generation 5. Rewriting 6. Chat 7. Closed QA 8. Open QA 9. Summarization 10. Other 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 11
  • 10. ⼤規模⾔語 モデル (RNNの⼼臓部がLSTM であることを理解する) • 2011年 Ilyya Sutskever • 500 Million Wordsの⽂章を学習してWikipediaやNY Timesの⽂体を真似た英⽂をRNNに作らせた。 (読めるが意味は通じない) • 2015年 Andrej Karpathy • 数学の論⽂やC⾔語のプログラムに⾒える⽂書を RNNに作らせた。 (これは⽂法的にそれらしいが、よく⾒ると意味が わからない) GPT-3 ⼤規模⾔語モデル • 175B(1750億)級の⾔語モデル • モデルを⼤きくしてもユーザーの意図に沿うようにはならない→Overoptimization ⼈によるチューニング • Instruct GPTは13B級(およそ1/100の規模)の⼈間の教師データ • 真実性の向上、有害性の排除 含まれているもの • 真実で有⽤ • 虚偽や無⽤、有害 モデルの分布の外の ⾔語の構成化に失敗 してしまう 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 12 [19 Oct 2022] Scaling Laws for Reward Model Overoptimization Leo Gao, John Schulman, Jacob Hilton [4 Mar 2022] Training language models to follow instructions with human feedback Long Ouyang, Jeff Wu, et
  • 11. Generative Pretrained Transformer 4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 13 Scaling Law Model x5 Data x2 Step x1 複雑系、熱⼒学、統計⼒学などに影響されている? 1兆パラメーターくらいまでクロスエントロピー ロスが下がる=精度が↑ “Scaling Laws for Autoregressive Generative Modeling”(20)
  • 12. ⾃然⾔語処理 意味の分散表現 ©YAMASHITA Technology & Engineering Office, LLC • ⾃然⾔語処理(Natural Language Processing, NLP)とは、⼈間の⾔語(⾃然 ⾔語)を統計的に解析できる形に変換し、機械で処理することです。ここで もディープラーニングは⾶躍的な技術進展をもたらしました。しかし画像認 識などと違い、⾔語が「物理的な実数値」ではなく、⼈間が恣意的に定義し た「記号」であるために、そのままの形では深層学習で処理できません。そ こで⽂字や単語を、「ベクトル表現」として記号の世界から数値の世界に変 換し、すべての単語をプログラムで処理できるようになります。さらに、あ る単語の概念をほかの概念との共通点や類似性と紐づけて、KingからManを 引き算してWomanを⾜すとQueenになるというようなベクトル同⼠での計算 を可能にします。このような複雑な計算を現実的なコンピューターで処理で きるように深層学習の機能を利⽤したものがWord2Vecです。Word2Vecは教 師あり学習を⽤いて、toを与えると前後にI wantとlearn programmingを予想 するなど、⽂章の中間にある単語から前後の単語を予測したり、逆に前後の 単語から中間の単語を予測したりすることが可能になります。 • こうした技術は機械翻訳や論⽂要約、分類などに⽤いられています。ITシス テムや⼯作機械の⾃動化などでは、動作ログやアラートなどこれまでは⼈間 が読むことを前提としたメッセージ類を分類して緊急度を判断したり、類似 事例の対処⽅法を検索したりするなどの応⽤が進んでいます。さらにこうし たベクトル化の技術を応⽤し、ストリームデータのグラフの近接中⼼性など を計算するデータスケッチ技術では、データの特徴値を把握することでイベ ント空間のグラフ的特徴を抽出することが可能になります。 One-hotベクトル表現はベクトルのすべての要素のうちひとつだけが1であり、残りはすべて0であるベクトルで単語とベク トルが⼀対⼀の対応となる局所表現が可能になる。 2023/4/11 14
  • 13. Word2Vec 意味のベクトル(分散)表現 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 15 king Queen man woman +royal +royal +female→ ← -female ←+male -male→ 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 m f r c 性別と王族の⼆ 次元ベクトル→ Full Fully Quick Quickly +adverv → ← +adjective (形容詞)→(副詞) ⾔葉の意味を多次元ベクトル化 ⽂法上の違いも多次元ベクトル化 gender family
  • 14. Word2Vec Skip-GramやCBOWを⽤いて意味の分散表現を得る 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 16 Continuous Skip-Gram Model 中⼼となるWordから⽂を予測するモデル Continuous Bag-of-Words Model ⽳あき⽂章問題を解くモデル
  • 15. Word2Vec Skip-GramやCBOWを⽤いて意味の分散表現を得る 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 17 [1000…000] [0100…000] [0010…000] [0001…000] : [0000…100] : : [0000…001] a be car delta : i : : zoo 単語のベクトル表現 ←200万語 200万Parameter→ I want {?} learn programming [0000…100] [0100…000] {?} [0010…000] [0001…000] 00…01 00…00 : : : 00…10 00…01 00…00 : : : 00…10 00…01 00…00 : : : 00…10 00…01 00…00 : : : 00…10 特徴値抽出 SUM Projection Output softmax→ to → 確率予測によってtoを予測する 圧縮→ 圧縮→ 圧縮→ 圧縮→ ①⼤量の例⽂を与える ②予測の精度を上げる 重み付けのパラメーターを調整して 得られた ③意味の 分散表現 特徴値は⼈間にとって意味のある軸を 発⾒するようなアルゴリズムアプロー チではなく、統計的に結果が有意にな るような計算的なアプローチ (機械が発⾒) ↑ one hot vector (単語の分散表現)
  • 16. これから ⽂の始ま りです 「私」に ついての ⽂です 「私はな にか」に ついての ⽂です 「私はトム のなにか」 についての ⽂です 私=トム 私=トム で⽂了 私=トム を書く =トム のamを 書く トム を書く ⽂了のピ リオドを 打つ ↑ 私 ↑ は ↑ トム ↑ です ↑ 。 ⼊⼒の系列データ→ I ↑ am ↑ TOM ↑ . ↑ 出⼒の系列データ→ 意味の状態変化→ 意味の状態変化→ X(t) y(t) X(0) X(1) X(2) X(t) … y(0) y(1) y(t) … … h(t) h(0) h(1) h(2) h(t) ⼀つ前の⽂の理解h(t-1)に⼊⼒x(t)を⾜すこ とで新しい⽂の理解h(t)を⽣成している ↓ → y(t)=f(h’(t-1)) → h’(t)=f(y(t),h’(t-1)) h(T) = h’(-1) … h’(0) h’(1) h’(t) ↑ 翻訳の残タスクh(t-1)から出⼒y(t)を出⼒し て残りの残タスクh’(t)を求める → h (t)=f(x(t),h (t-1)) (y(t),h(t)) = f(x(t), y(t-1),h’(t-1)) RNNのやっていること↓ RNNによる翻訳作業(Encoder-Decoderモデル)
  • 17. RNN (Recurrent Neural Network)の働き 系列データ(⼊⼒x(t) 出⼒y(t))を処理するためのhidden vector h(t) 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 19 X(0) X(1) X(2) X(t) … y(0) y(1) y(t) … … h(-1) h(0) h(1) h(2) h(t) y(2) X(0), X(1), X(2) … X(t) y(0), y(1), y(2) … y(t) y(0), y(1), y(2) … y(t) X(0), X(1), X(2) … X(t) h(t) h(-1) 何度も繰り返して変換することができる (系列の構造を維持したまま変換する) 可変⻑の⼊⼒を固定次元のベクトルに変換する (可変⻑⽂字列の最終的な意味を取り出す) y(t) 処理のしやすさ ↓ につながる 意味→系列出⼒への変換 encoder decoder ↑ 処理の呼び方 RNNの⼊出⼒の組み合わせ (1) 系列から系列 Seq2Seq (2)系列からベクトル Seq2Vec (3)ベクトルから系列 Vec2Seq RNNの⼊出⼒系統 例)⾳声からテキスト 例)テキストからトピック、⽂字列・画像から意味 例)意味からテキスト (4)Encoder Decoderモデル 画像データ CNN h(-1) RNN This is a pen 私はトムです。 RNN h(-1) RNN I am TOM.
  • 18. RNNの記憶障害 ©YAMASHITA Technology & Engineering Office, LLC 20 2023/4/11 y(t)=h’(t)=ftanh(x(t), h(t-1)) =tanh(x(t)W2h+h(t-1)Whh+bn) ⼊⼒の横ベクトルに⾏列をかけた ものを⾜し合わせてバイアス項を ⾜した各要素にtanhをかける ⼊⼒x(t)の値が変わるたびにh(t)の 値がコロコロ変わるので、h(t-1)に よってもたらされている過去の意 味の遷移がx(t)によってどんどん 上書きされてしまう。 →短期的な(100⽂字程度)記憶 しか持てない。 (y(t),h(t)) = f(x(t), y(t-1),h’(t-1)) RNNのやっていること↓ dense layerのtanh関数 勾配消失問題とは、FNNで誤差逆伝播を⽤いて重みを更新すると き、⼊⼒層側へ伝播していく際に勾配が消失してしまい、重みが 更新されなくなってしまう現象です。こうなると、深層にしても 学習しているのは出⼒層側の数層のみということになり、精度は 上がらず計算コストは⾼いという最悪な状態になります。勾配消 失の原因に、当時使⽤されていた活性化関数であるシグモイド関 数(sigmoid)やハイパボリックタンジェント(tanh)の微分値が 1より⼩さいことが挙げらました。多層になればなるほど、活性 化関数の微分値を繰り返し乗算する回数が増えるため、どんどん 伝播される値が⼩さくなってしまいます。
  • 19. GRU (Gated Recurrent Unit) ⻑短期記憶を操作する ©YAMASHITA Technology & Engineering Office, LLC 21 2023/4/11 z(t)=fσ z(x(t), h(t-1)) r(t)=fσ r (x(t), h(t-1)) h(t)=ftanh h(x(t),r(t)oh(t-1)) h(t)=(1-z(t))oh(t-1)+z(t)oh(t)) ~ ~ x(t) h(t-1) y(t) h(t) X σ tanh + σ r z 1-. X roh X 1-z (1-z)oh zo h ~ h ~ fσ はSigmoid関数、ftanh はHyperbolic Tangent関数 oはHadamard(アダマール)積:⾏列の成分ごとの積 ← update gate vector ← reset gate vector ① ② ③ ④ ⻑短期記憶の 問題が解決さ れている!
  • 20. GRU (Gated Recurrent Unit) ⻑短期記憶を操作する ©YAMASHITA Technology & Engineering Office, LLC 22 2023/4/11 fσ はSigmoid関数、ftanh はHyperbolic Tangent関数 oはHadamard(アダマール)積:⾏列の成分ごとの積 z(t)=fσ z(x(t), h(t-1)) r(t)=fσ r (x(t), h(t-1)) h(t)=ftanh h(x(t),r(t)oh(t-1)) h(t)=(1-z(t))oh(t-1)+z(t)oh(t)) ~ ~ ← update gate vector ← reset gate vector ① ② ③ ④ x(t) h(t-1) y(t) h(t) X σ tanh + σ r z 1-. X roh X 1-z (1-z)oh zo h ~ h ~ ④式でh(t)を出⼒するために、⼀つ前の隠れ層の値h(t-1)と新しく作った隠れ層h(t)を(1-z):zで配合する。z=0なら連続した⽂脈でほとんど前の h(t-1)をh(t )に出⼒するし、z=1なら⽂脈の切れ⽬でh(t-1)を忘れてしまう。zは成分ごとに異なる値を持って記憶を制御しているUpdate Gate Vectorで、①式に⽰す通り⼊⼒x(t)と前のh(t-1)から成る全結合層のシグモイド関数です。 新しく作られる③式のh(t)はr=0の時には前のh(t-1)を忘れてしまい、r=1の時には前のh(t-1)を強く引き継いでいく。つまり、前までの情報を どの程度弱めるかを制御している②式のrはReset Gate Vectorです。最終的には新しく作られるh(t)は④式でh(t)を作る時に⼊⼒xを加味しつ つ前のh(t-1)と混ぜられる値です。 ~ ~ ~
  • 21. GRU (Gated Recurrent Unit) ⻑短期記憶を操作する ©YAMASHITA Technology & Engineering Office, LLC 23 2023/4/11 z(t)=fσ z(x(t), h(t-1)) r(t)=fσ r (x(t), h(t-1)) h(t)=ftanh h(x(t),r(t)oh(t-1)) h(t)=(1-z(t))oh(t-1)+z(t)oh(t)) ~ ~ x(t) h(t-1) y(t) h(t) X σ tanh + σ r z 1-. X roh X 1-z (1-z)oh zo h ~ h ~ 前⽅の記憶をどの程度引き継 ぐかを決めるreset gate vector ⽂脈の切り替えを記憶要素ごと に配合するupdate gate vector 前⽅の記憶を適切に引き 継いだ値に⼊⼒を加味 ⼊⼒と記憶と⽂脈 の混合器 化学プラントのように記憶を配合す るための配合パラメータを調整して 新しい隠れ層を⽣成している。
  • 22. LSTM (Long short-term memory) と GPT-3 RNNのフィードバックに時間記憶のモデルを加える ©YAMASHITA Technology & Engineering Office, LLC 24 優れた⾃然⾔語処理システムが論⽂、⼩説、詩、翻訳⽂、 新しい映像表現を⽣成する。 数百ミリ秒先の予想画像はリアルタイム処理に⼤きなインパクトがある。 • DNNs: シンプルなConvLSTMを多数結合 出来ること:未来のフレーム:先の25フレーム ⼊⼒映像 :128 x 128 pixels ⇒ 出⼒映像:128 x 128 pixels コールセンターの回答文の自動生成 プログラムの自動生成 2023/4/11
  • 23. LSTMの数式 c(t)が⻑期記憶、h(t)が短期記憶 ©YAMASHITA Technology & Engineering Office, LLC 25 2023/4/11 f(t)=fσ f(x(t),h(t-1)) i(t)=fσ i(x(t),h(t-1)) O(t)=fσ σ(x(t),h(t-1)) c(t)=ftanh c(x(t),h(t-1)) c(t)=f(t)o c(t-1)+i(t)o c(t) y(t)=h(t)=O(t)o c(t) ~ ~ ←forget gate vector (0-1) f(t)o c(t-1) ⼀つ前の⻑期記憶c(t-1)にforget gate vector f(t)を掛けて必要な記憶を選択 i(t)o c(t) 新しい単語を読んだことによって⻑期記憶に加えたいものと加える度合いi(t) h(t)=O(t)o c(t) ⻑期記憶の中から必要な短期記憶を抜き出す動きO(t) ~ ←input gate vector (0-1) ←context vector ←output gate vector (0-1) c(t-1) → f(t)o c(t-1) → C(t) f(t)で忘れる i(t)o c(t)を覚える ~ 前の⻑期記憶 次の⻑期記憶 h(t)はh(t-1)に影響されるが直接の関数関係はない ① ② ③ ④ ⑤ ⑥
  • 24. LSTM回路図 h"ps://i-main.net/emmanote-ai-lstm/ 4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 26 もう書くのめんどうに なっちゃいました
  • 25. Attention itが何を⽰しているかの確率分布 BERT 2018年にGoogleが開発 A3en4onを⽤いることで⽂脈を考慮した分散表現が得られる Transformer Attention is all you need (17) 4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 27 Ashish Vaswani,Noam Shazeer,Niki Parmar,Jakob Uszkoreit,Llion Jones,Aidan N. Gomez,Łukasz Kaiser,Illia Polosukhin 2017 A"enZon Is All You Need こんなフィルターを作成する
  • 26. Yes, we need “Attention” for all • Transformerに使われた A#en&on →その後すごいことに! • Transformer • BERT • GPT-3, 3.5, 4 and more • ViT (Vision Transformer) • DALL-E 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 28 Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio “Neural Machine Translation by Jointly Learning to Align and Translate” (14) ↑ Encoder Decoder Modelで⻑⽂翻訳しようとした時に⼊⼒を同じ⻑さのベクト ルの出⼒にしていると精度が上がらないので、エンコーダーの出⼒を確率的な 重みづけをすることで可変⻑にして⻑⽂翻訳の精度を上げるという内容 (論⽂中のSo[ Align/searchが A@en^onの原型なんだよ♡) 例)30単語の学習で作ったモデルでは30単語⻑を超えると精度が下がる。 次に来る単語の予想をする時に⼊⼒のどこに注⽬するかを考えるようにした。 語順変化や⻑⽂への対応が可能になった。→⽇本語への対応には⾮常に重要 あなた は トム ですか 。 Are you TOM ? <⼊⼒単語への参照を意味ベクトルに加える> 精度スコア 単語数 enddec attention 学習した単語数
  • 27. ©YAMASHITA Technology and Engineering Office 29 In May 1898 Portugal celebrated the 400th anniversary of this explorer’s arrival in India. On the 27th of May 1498, Vasco da Gama landed in Kappad Beach. 問題↓ 解答↑ 時間の計算 単語距離 地理的な類推 ← IBM Watson 初号機 ⼈間の知能の⼤半は知覚による情報処理のパイプラインによるもので あるが、「記憶と想起」のメカニズムが重要な役割を果たしている。 ミンスキーのフレーム理論は「知識の表現論」であり内的認知構造に 注⽬したもの。 知識検索主義 Frame(Object) Slot(Attribute) Facet(ValueとConstraint) 知覚による情報処理のパイプラインにおける「注⽬」の処理
  • 28. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 30 X(1) X(2) X(n) … … S(e) 1 S(e) 2 S(e) n = C ここには GRU使います↗ … p (y1) y(1) y(m) … … y(2) BOS p (y2) S(d) 1 S(d) 2 p (y3) p (ym+1) =EOS ↑ ⼊⼒⽂字列の 意味ベクトル p (yi) = p (yi | yi-1 , S(d) i , C) 次の単語の確率は 「前の単語」と 「これまでの状態」と 「意味ベクトル」で決まります。 BEAM searchで 確率分布を出⼒ ⽂字に変換 Encoder Decoder ↓ 原型となっている RNNencdec X(1) X(2) X(t) … … … h(1) h(2) h(t) h(1) h(2) → → → → → X(1) X(2) X(t) … … … h(1) h(2) h(t) h(1) h(2) ← ← ← ← ← ( ) hi = concat ( hi , hi ) = hi hi → ← → ← →前⽅からの⽂脈 ←後⽅の⽂脈 AnnotaXon : Bi-GRU(両⽅向GRU)を⽤いて 前後の⽂脈を加えた各単語の意味をベクトル化 Ci = Σ αij hj j αij = =softmax(pij) exp (pij) Σ exp(pik) j pij = tvaftanh(s(d) i-1 , hi) = tva tanh(WS(d) i-1) + Uij) ←⽂脈を加味した単語の意味の加重合計 (重みを制御して注⽬したい単語ベクトルを⾜す) ↓重みの計算 2層のNNを使ってどの単語に注⽬するかを(これまでに何を書いたの か)S(d) i-1と(⼊⼒された⽂字のベクトル)hjから決定する 固定⻑の意味ベクト ルをアノテーション に⼊れ替える RNNsearchにおけるAttention機構の導⼊→ RNNsearchに加えられた⼯夫 ↓
  • 29. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 31 Add & Layer Norm Feed Forward Add & Layer Norm Self-attention Multi-head Attention Input Embedding Posi4onal Encoding Masked Mul4-head A3en4on Add & Layer Norm Source-Target Mul4-head A3en4on Add & Layer Norm Feed Forward Add & Layer Norm Posi4onal Encoding Output Embedding Linear Output Soamax Output Input x6 x6 Add and Layer Normaliza0on Residual Connec^onを⾜して学習⾼速化 (Skip connec^on=Res-net) 最適化問題を数値計算で近似した時のデグレを抑える Feed Forward Network FFN(x)=ReLU(xW1+b1)W2+b2 ⼀つの活性化関数と線形層からなる2層のNN ⼊⼒単語を ベクトル化 ←何⽂字⽬かを加える→ ここまでの出⼒単語 をベクトル化 単語の次元のベクト ル列に線型写像して、 確率の列にする → P(yi |x1 , … , xn , y1 , … , yi-1 ) y1 , … , yi-1 x1 , … , xn Transformerの構造
  • 30. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 32 I have a pen . =qi K,V= Attention (Q, K, V) = softmax ( )V QtK √d Scaled Dot-Product A@en^onはKVSのKeyを類似度でマッチ ング(混合)する仕組み〜QueryとKeyの類似度を内積 計算してそれに応じた重みでValueを⾜していく。 q1 : qn Q= k1 : kn K= v1 : vn V= : Query n個の⼊⼒ バッチ処理 : Key : Value QもKもVも横ベクトルが縦に並んでいる Attention (qi, K, V) = softmax ( )V qi tK = qi ( tk1 tk2. … tkn) = qi ・k1 qi ・k2. … qi ・kn qi tK √d → → → → → → → i番⽬の要素だけを取り出す↓ → → → → → → → → → → → 横ベクトルの転置をかけると内積 ↑(類似度)が並びます →QueryとKeyの類似度が並んだベクトルが得られている。 softmax ( ) = (p1 … pn) = p qi tK √d 次元を揃えて類似度を合 計1の重みベクトルに変換 → softmax ( )V = pV = Σ pi Vi qi tK √d → → 重みベクトルにValueをかけ てKeyに似たValueを取り出す → qとKiが似ている時にはPiだけが1に近く、他 が0なのでViの値が取り出されている。 → → → → softmax ( ) V= softmax qi tK √d ・ √5 ・ → Q ↓ 0.2 0.5 0.08 0.2 0.02 ・ = = ⾏列の内積によるAttention機構 Scaled Dot-Product A]en^on 類似度(2つのベクトルが同じ向きだと内積は➕、違う向きだと0、反対向きだと➖になる。)
  • 31. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 33 I have cats query key value I have cats I 0.88 0.1 0.02 I q1 k1 v1 I q1⋅k1 q1⋅k2 q1⋅k3 have 0.08 0.8 0.12 have q2 k2 v2 have q2⋅k1 q2⋅k2 q2⋅k3 cats 0.03 0.14 0.83 cats q3 k3 v3 cats q3⋅k1 q3⋅k2 q3⋅k3 Self-attention QKVへの対応 Self-Attentionによる類似度計算 I - HaveとHave - Iは異なる値を持ち、前後関係を意識した類似度計算ができる。
  • 32. 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 34 MultiHeaad (Q, K, V) =concat(headi)Wo headi =Attention (QWQ i , KWK i , VWV i ) QWQ i → XWQ i ⼊⼒Xのどこを処理するかを決める KWK i → XWK i 内積を取るKもX→⼊⼒のどの部分に注⽬するかを決める VWV i → XWV i 出⼒を調整する →様々な⾓度で⼊⼒Xを⽐較して、どこに注⽬するかを制御して出⼒を決定する Self-attention Multi-head Attention Source-Target Multi-head Attention V K Q V K Q ⼊⼒X 注)Masked Multi-head Attentionは Decoderで後ろの単語列からの情報をブロック する役割です。BERTでは⽤いられていない。 Q : ⽇本語のこれまでの処理の結果に基づいて K:英⽂の情報処理の結果をもとに注⽬する場所を決めて、 V:英⽂の情報処理の結果を組み合わせて出⼒する →次の単語を予測するための重みを計算する Add & Layer Norm Feed Forward Add & Layer Norm Self-attention Multi-head Attention Input Embedding Positional Encoding Masked Multi-head Attention Add & Layer Norm Source-Target Multi-head Attention Add & Layer Norm Feed Forward Add & Layer Norm Positional Encoding Output Embedding Linear Output Softmax Output Input x6 x6 ⼊⼒単語を ベクトル化 ←何⽂字⽬かを加える→ ここまでの出⼒単語 をベクトル化 単語の次元のベクト ル列に線型写像して、 確率の列にする y1 , … , yi-1 x1 , … , xn TransformerにおけるMulti-head Attention機構の働き
  • 34. I Love Youを 翻訳できる なら意味が 理解できて いるのか? I love you → 私はあなたを愛してる ↑ どちらも⽂法的に正しいシーケンス↑ • 翻訳機Tが⽂法的に正しいシーケンスS1を⽂法的に正 しいシーケンスS2に変換できる時に、翻訳機TはS1の 意味を理解できると考えることができる。 • ⼈間がS2の意味を理解できることが前提 ↓ 翻訳機Tが⽂法的に正しいシーケンスS1を⽂法的 に正しいシーケンスS2に変換でき、S2の意味を 我々が理解できる時、翻訳機TはS1の意味を理解 できると考えることができる。 →機械の意味理解を、⼈間が意味を理 解できることに還元せざるを得ない 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 36
  • 35. ⼈間はパラレルコーパスで⾔語 の意味理解をしたわけではない。 • 機械学習には様々なタイプがあるが、膨⼤なデータと 繰り返しの学習によって「誤り」の低減を⽬指すメカ ニズムは同じ。 • パラレルコーパスは執拗に誤りを訂正する「⻤教 師」だが、機械はノイローゼにはならない • Chomsky「⾔語能⼒の⽣得性」 • ⼈間は最初の⾔語能⼒である「⺟語」を⾃然に獲 得する。 • 数学は理解できないことがあるが、⾔語学習は⽣ 得的に⾏われている。 (四書五経を素読するように数学を理解すること はできない) 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 37
  • 37. Iterative Deployment • ChatGPTはもっともらしく聞こえる不正確あるいは無意 味な答えを返すことがある。 • 強化学習のトレーニングでは「真実」のソースはな い • 慎重さを強めてトレーニングすると正しい答えも拒 否してしまう • 教師ありトレーニングでは最も「理想的な答え」は モデルが知っていることに依存する • 原因 • 学習データの偏り(より⻑い⽂章を好む) • 過学習による過剰な最適化 • OpenAIの対応 • Iterative Deployment:ユーザーに対話のインター フェースを提供することでモデルの精度を上げるた めの教師データをより多く集めてIterativeに学習させ る。(バッチだけど、、) • RLHFの使⽤によって有害で真実でない出⼒を削減す る⽅向に向かう 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 39
  • 38. 対話型AIの 学習ステップ 40 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 1)⾔語能⼒の学習(確率モデル) 2)⽬的に対応したファインチューニング • Brainstorming • Classification • Extraction • Generation • Rewriting • Chat • Closed QA • Open QA • Summarization • Other GPT-3.5以降のモデルで 与えられた⾔語モデルの外部の⾔語 の構成化に成功した。 →真実とは限らない応答がありえる ⼼地よい対話のシステムは 真実を探り出す検索システムが バックアップしてこそ ⼈類の役に⽴つ
  • 39. THINK Let’s think step by step 41 ©YAMASHITA Technology & Engineering Office, LLC 4/11/23 不思議なことは chatGPTに”THINK logically”と指⽰をする ことで洗練された回答が得られること
  • 42. 「眼の誕⽣――カンブリア 紀⼤進化の謎を解く」ア ンドリュー・パーカー • “ディープラーニングは、「⽬」の技術であ る”――東京⼤学⼤学院特任准教授・松尾豊⽒ は、近年のAIの発達をこう表現する。「⽬」 を持った機械は、⾃ら判断と習熟を⾏い、⽬ の前の対象物に柔軟に対処可能だ。それは農 業や建設、⾷品加⼯といった⾃然物を扱う領 域で、強みを発揮するだろうと松尾⽒は述べ る。では、その先にあるものとは。(2016年 11⽉30⽇開催三菱総研フォーラム2016講演 「AIで社会・ビジネスはどう変わるか?」よ り、全4話中第3話) ©YAMASHITA Technology & Engineering Office, LLC 46 2023/4/11
  • 43. 知性を構成する要素 • ⾔語・抽象と知覚・具象の中間領域 • 中間領域を要素とする認知の分散処理 • 単純な指標とブロードキャストによる群制御理論 • 分散処理を指数級数的に進化させる、遺伝的アルゴリ ズム • ⾝体性と同義なデジタル空間の環境資源と、それとの 作⽤・反作⽤ • 時間と空間の獲得 2023/4/11 ©YAMASHITA Technology & Engineering Office, LLC 47
  • 45. Question ? 4/11/23 ©YAMASHITA Technology & Engineering Office, LLC 49 maruLABO