新人エンジニア研修講師
第13章 MLP層とGELU:トークンごとの情報を加工する

こんにちは。ゆうせいです。 第12章までで、Transformerブロックの前半、すなわち注意機構とその周辺の仕組みが揃いました。第13章では、ブロックの後半にあたるMLP層を扱います。Transformer Expla […]

続きを読む
新人エンジニア研修講師
第12章 レイヤー正規化:値のばらつきを揃えて学習を安定させる

こんにちは。ゆうせいです。 第11章では、残差接続が深いモデルの学習を可能にすることを確認しました。しかし、残差接続だけでは十分ではありません。もう一つ、学習を安定させる柱があります。レイヤー正規化(Layer Norm […]

続きを読む
新人エンジニア研修講師
第11章 残差接続:入力をそのまま足し合わせる仕組み

こんにちは。ゆうせいです。 第10章までで、マルチヘッドアテンションによる出力が得られました。この出力は、そのまま次の処理に渡されるわけではありません。注意機構に入る前の入力が、出力に足し合わされてから、先に進みます。こ […]

続きを読む
新人エンジニア研修講師
第10章 マルチヘッドアテンションと出力射影:複数の視点で同時に見る

こんにちは。ゆうせいです。 第9章で、自己注意という仕組みが一通り完成しました。しかし、実際のTransformerでは、この自己注意を一つだけ動かしているわけではありません。同じ処理を複数、並列に動かしています。これが […]

続きを読む
新人エンジニア研修講師
第9章 Softmaxと重み付き和:文脈をベクトルに取り込む

こんにちは。ゆうせいです。 第8章までで、どのトークンがどのトークンにどれだけ注目すべきかを表すスコア行列が完成しました。しかし、この段階のスコアは、まだ確率ではありません。マイナスの値も含まれ、合計も1になっていません […]

続きを読む
新人エンジニア研修講師
第8章 因果マスク:未来を見えなくする仕組み

こんにちは。ゆうせいです。 第7章では、スケーリングによってスコアの大きさが調整されることを確認しました。第8章では、そのスコア行列に対して、GPT-2のような文章生成モデル特有の処理を加えます。因果マスク(Causal […]

続きを読む
新人エンジニア研修講師
第7章 スケーリング:なぜルートd_kで割るのか

こんにちは。ゆうせいです。 第6章では、QueryとKeyの内積によって、注意スコアが計算されることを確認しました。自己注意の数式を見ると、この内積の結果を、そのまま次の処理に渡してはいません。必ず、ある値で割り算をして […]

続きを読む
新人エンジニア研修講師
第6章 内積による類似度の計算:どのトークンに注目するかを決める

こんにちは。ゆうせいです。 第5章では、各トークンからQuery、Key、Valueという三つのベクトルが生成されることを確認しました。第6章では、いよいよそれらを使った計算に入ります。あるトークンのQueryと、他のす […]

続きを読む
新人エンジニア研修講師
第5章 Query、Key、Valueの生成:自己注意の三つの役割

こんにちは。ゆうせいです。 第4章までで、入力された文章は、各トークンが768次元のベクトルとして表現された状態になりました。ここから、Transformerの中核である自己注意の処理に入ります。Transformer […]

続きを読む
新人エンジニア研修講師
第4章 位置エンコーディング:語順の情報を加える

こんにちは。ゆうせいです。 第3章では、トークンIDが768次元の埋め込みベクトルに変換されることを確認しました。ここで、重大な問題が残っています。埋め込みだけでは、単語がどの順番で並んでいたかという情報が、完全に失われ […]

続きを読む
新人エンジニア研修講師
第3章 トークン埋め込み:単語を意味のベクトルに変える

こんにちは。ゆうせいです。 第2章では、文章がトークンに分割され、それぞれに番号(トークンID)が割り当てられることを確認しました。しかし、この番号には、意味がまったく含まれていません。IDが3797の単語とIDが379 […]

続きを読む
新人エンジニア研修講師
第2章 トークン化:文章を数値の単位に分ける

こんにちは。ゆうせいです。 第1章では、Transformer Explainerで可視化されている処理の全体像を確認しました。第2章では、その入口にあたるトークン化を扱います。Transformer Explainer […]

続きを読む
新人エンジニア研修講師
第1章 全体像:Transformer Explainerで何が見えるのか

こんにちは。ゆうせいです。 本記事から、全14章にわたって、Transformer Explainerというツールで可視化されている要素技術を、一つずつ解説していきます。Transformer Explainerは、GP […]

続きを読む
新入社員
混同行列からベイズの定理へ:適合率と再現率の裏にある確率の考え方

こんにちは。ゆうせいです。 機械学習モデルの評価指標を学ぶとき、多くの人は混同行列、適合率、再現率という言葉を、それぞれ独立した公式として暗記します。しかし、この三つは、実はベイズの定理という一つの確率の枠組みでつながっ […]

続きを読む
新入社員
ディープラーニングにおける偏微分の理解の重要性

こんにちは。ゆうせいです。 ディープラーニングを学ぶ新人エンジニアから、「PyTorchやTensorFlowを使えば、微分の計算はフレームワークが自動でやってくれる。それなら、偏微分の数式を自分で理解する必要はあるのか […]

続きを読む
新入社員
誤差逆伝播法はなぜ順伝播より微分の計算が楽になるのか

こんにちは。ゆうせいです。 ディープラーニングの学習では、誤差逆伝播法(バックプロパゲーション)という手法で、各パラメータの勾配を計算します。この名前を初めて聞いたとき、「なぜわざわざ逆向きに計算するのか。順伝播の途中で […]

続きを読む
新入社員
GoogleがGDPRの制裁金を受けた件を解説:規制と技術的実装のギャップ

こんにちは。ゆうせいです。 2021年12月、フランスの国家情報委員会(CNIL)は、Googleに対して9000万ユーロ(日本円で約120億円)のGDPR違反に関する制裁金を課すことを決定しました。違反の内容は、Coo […]

続きを読む
新入社員
C2PAとは何か:デジタルコンテンツの出所と真正性を証明する技術

こんにちは。ゆうせいです。 SNSに投稿された写真が本物なのか、生成AIで作られた偽物なのか、判断するのが難しくなってきました。ディープフェイク技術により、著名人の顔を別の映像に合成したり、存在しない人物の動画を作ったり […]

続きを読む
新入社員
代理変数とは何か:見えないバイアスの真犯人を理解する

こんにちは。ゆうせいです。 前の記事で、再犯予測システムCOMPASが黒人被告人に対して差別的に機能していることを解説しました。興味深いのは、COMPASのアルゴリズムには、直接的に「人種」という変数が組み込まれていなか […]

続きを読む
新入社員
再犯予測システムCOMPASを解説:AIの差別性が明らかになった歴史的事例

こんにちは。ゆうせいです。 2016年、調査報道メディアのProPublicaが、米国の刑事司法制度で広く使用されている「COMPAS」という再犯予測システムに対して、衝撃的な報告を発表しました。このシステムが黒人被告人 […]

続きを読む
新入社員
準同型暗号を解説:なぜこんな変な名前なのか、そして何ができるのか

こんにちは。ゆうせいです。 「準同型暗号」という言葉を初めて聞いた人の多くは、この名前に戸惑うと思います。何を意味しているのか、数学的な背景がない人には全く想像できない言葉です。しかし、この技術が実現する能力は、極めてシ […]

続きを読む
新入社員
連合学習を解説:データをサーバーに集めない機械学習の新しい形

こんにちは。ゆうせいです。 機械学習の従来のやり方は、「データを中央のサーバーに集める」というものでした。しかし、スマートフォン、医療機器、自動運転車など、個々のデバイスやシステムが大量の個人データを生成する現代において […]

続きを読む
新入社員
差分プライバシーを解説:個人データを守りながら統計情報を活用する技術

こんにちは。ゆうせいです。 プライバシーとデータ活用のあいだに存在する根本的な矛盾があります。医療研究やマーケティング分析のために、多くのユーザーデータが必要ですが、同時にそれらのデータには個人の秘密が含まれており、保護 […]

続きを読む
新入社員
ソーシャルスコアリングとは何か:社会監視システムの危険性を理解する

こんにちは。ゆうせいです。 AI技術が急速に発展する中で、「ソーシャルスコアリング」という言葉を目にすることが増えています。EU AI法で禁止されるAIの筆頭として登場するこの概念は、個人の振る舞いを数値化し、その人物の […]

続きを読む
新入社員
EU AI法(EU AI Act)を解説:欧州が示したAI規制の枠組み

こんにちは。ゆうせいです。 2024年に施行されたEU AI法(EU Artificial Intelligence Act)は、世界初の包括的なAI規制法として、大きな注目を集めています。この法律は、AI技術がもたらす […]

続きを読む
新入社員
全結合層が行列の積と和が基本であることを解説:数式から計算実装まで

こんにちは。ゆうせいです。 ニューラルネットワークの最も基本的な構造である「全結合層」(fully connected layer)を学ぶとき、「Y = XW + b という式を計算するだけだ」と説明されることがあります […]

続きを読む
新入社員
キーボード配列の謎を解く:なぜ四則演算の記号はそこに置かれたのか

こんにちは。ゆうせいです。 毎日プログラミングをしていると、キーボードの記号配置について違和感を持つことがあります。なぜ -(ハイフン)や /(スラッシュ)は Shift を押さずに入力できるのに、+(プラス)や *(ア […]

続きを読む
新入社員
プライバシーバイ・デザインとセキュリティバイ・デザインを解説:システム設計の最初から守ることの重要性

こんにちは。ゆうせいです。 AI技術やデータシステムが社会の多くの領域に浸透するにつれ、「プライバシーをどのように保護するのか」「サイバーセキュリティをどのように確保するのか」という問題が、技術開発の最前線で議論されるよ […]

続きを読む
新入社員
AIガバナンスの用語としてのインクルージョンを解説:包括性と公平な意思決定

こんにちは。ゆうせいです。 AI技術が医療、採用、教育、金融といった社会の重要な領域に導入されるにつれ、「AIガバナンス」という概念が注目を集めています。AIガバナンスを説明する際に、頻繁に登場する用語に「インクルージョ […]

続きを読む
新入社員
エコーチェンバーとフィルターバブルの違いを解説:AIアルゴリズムが生み出す二つの情報閉鎖

こんにちは。ゆうせいです。 SNSやニュースサイト、動画配信プラットフォームなど、現代人が情報を受け取る場の多くは、推奨アルゴリズムによって、個人の行動や好みに基づいた情報が自動的に配信されています。その結果として、「似 […]

続きを読む