みんなのAI
機械学習AI論文
Loading...

学ぶ

🏅マイ実績

Chapter 01

関数:入出力をつなぐAIの基本単位

関数は入力一つに出力一つが対応する規則です。AIが入力を出力に変える仕組みもこの関数の考え方に直結しています。

チャプター別 数学図

チャプターを選ぶと、下の図がそのチャプターの内容に切り替わります。基礎数学の流れを一覧で確認できます。

入力 xxx を入れると出力 yyy が一つ決まる規則です。下で xxx → fff → yyy の流れを示します。
012340246810xy(0, 1)
例: x=3x=3x=3 のとき f(x)=2x+1f(x)=2x+1f(x)=2x+1 では 7

関数とは何か

関数は、二つの集合の間の厳密な対応(写像)です。入力の集合である定義域のどの元も、出力の集合である値域の元にただ一つだけ対応しなければなりません。自販機のボタンを押して飲み物が出ない、または二つ出るなら故障なのと同じで、関数も一つの入力には必ず一つの出力が対応します。
数学では y=f(x)y = f(x)y=f(x) と書きます。xxx は独立変数(原因)、yyy は従属変数(結果)です。AIの視点では xxx は私たちが与えるデータ(画像ピクセル、文、センサ値)であり、yyy はAIが計算した予測(猫かどうか、次単語、株価予測)です。関数 fff はこのデータを正解に変える変換器の役割を果たします。
AIモデルそのものが巨大な合成関数です。入力データが最初の関数(層)を通って変換され、その結果がまた次の関数(層)に入っていく過程が何十回も繰り返されます。数学で y=f(g(h(x)))y = f(g(h(x)))y=f(g(h(x))) のように関数を重ねるのと同様、ディープラーニングは無数の関数を層のように積み重ね、複雑なデータのパターンを読み取ります。
現実世界のモデル化ができるからです。「勉強すれば成績が上がる」という漠然とした関係を y=ax+by = ax + by=ax+b という一次関数で表せば、勉強時間(xxx)に対する予想成績(yyy)を計算できます。AIはこれよりはるかに複雑な非線形関係(画像と物体名など)を関数で近似し、問題を解きます。
最適化の対象になるからです。AI学習の目標は正解と予測の誤差を最小にすることです。その誤差を計算するのも損失関数という関数であり、その最小値を求めるために微分を使います。関数で定義されていなければ、AIを学習させる数学的根拠がなくなります。
変化を扱う言語だからです。入力が少し変わったとき出力がどれだけ変わるか(傾き)を知らなければ、AIは正解に向かって少しずつ進めません。関数は入力と出力の因果関係を数式で明確にするので、AIがなぜその判断をしたか分析できます。
AIのすべてのニューロンは小さな関数です。入力信号(xxx)に重み(www)をかけて足し(wx+bwx+bwx+b)、活性化関数を通して次のニューロンに送ります。ReLUやSigmoidといった関数が信号をオンにするかオフにするかを決め、そうした小さな関数の集まりが人間の脳のように複雑な判断を下します。
データ変換に使われます。私たちの見る写真は、コンピュータには数万個の数(xxx)の塊です。AIはこの数を関数に通して次元を減らしたり増やしたりし、「耳の形」「目の形」のような重要特徴(yyy)だけ残します。これは高次元ベクトルを低次元空間に写す関数演算です。
確率を計算します。分類問題の最後で使うソフトマックス関数は、AIが出力する生の数を「和が1の確率」に変えます。そのおかげで「この画像は90%の確率で犬です」と言えます。関数は生データを私たちが理解できる情報に加工します。
  • 関数f(x)=x+1f(x)=x+1f(x)=x+1
  • 例(入力 → 出力)3 → 4、10 → 11
  • 関数g(x)=2xg(x)=2xg(x)=2x
  • 例(入力 → 出力)3 → 6、10 → 20
  • 関数h(x)=x2h(x)=x^2h(x)=x2
  • 例(入力 → 出力)3 → 9、−2-2−2 → 4
関数例(入力 → 出力)
f(x)=x+1f(x)=x+1f(x)=x+13 → 4、10 → 11
g(x)=2xg(x)=2xg(x)=2x3 → 6、10 → 20
h(x)=x2h(x)=x^2h(x)=x23 → 9、−2-2−2 → 4
下のビジュアルのように f(x)=2x+1f(x) = 2x + 1f(x)=2x+1 に x=3x = 3x=3 を入れると 7、x=10x = 10x=10 で 21 です。問題の空欄を埋めなさい。