昔は弾道計算、今はAIモデルのパラメーター算出に重要な「微分・積分」「AI」エンジニアになるための「基礎数学」再入門(8)(2/2 ページ)

» 2020年06月09日 05時00分 公開
[原拓自, 西村圭介東京ITスクール]
前のページへ 1|2       

AIが微分を用いて行っていること

 前回、関数について解説した際に、AIが行っている作業はデータ間にある関係性を数値的に見つけ出すことと説明しましたが、より具体的には与えたらデータをうまく表すことのできる数式のパラメーターを求めています。パラメーターとはデータ間の関係性を表すために用いる、補助の変数のことです。AIはパラメーターを持つ数式(モデルといいます)を事前に持っており、与えられたデータと照らし合わせて、データを表すことのできるモデルのパラメーターを求めているのです。このパラメーターを求める際に使われるのが微分です。

FLATICONのフリーコンテンツを利用)

AIの分析手順

 今、あるWebサイトのさまざまな商品ごとの売れた個数とその商品ごとのページに訪問しているユーザー数のデータを考えます。この関係性をAIで明らかにして、ユーザー数を何人増やせばどれだけの商品数が売れるかを分析します。この時AIはまず、パラメーターを持つモデルを用意します。モデルにはさまざまなものがありますが、ここでは説明を分かりやすくするために、下記のようなモデルを例にとって説明します。

f(x) = ax

 この場合だと、「x」が商品ごとのページに訪問しているユーザー数で、「a」がモデルのパラメーターです。商品ごとの売れた個数(「y」とします)をxで表せるようなモデルのパラメーターaを探すのがAIの仕事です。もし完全に表すことができるaが存在するのなら、どのxに対しても下記が成り立ちます。

y = f(x) = ax

 データに誤差などがあり、完全に一致しなくても誤差が最も小さくなるパラメーターが、求めたいものです。そのため両者の近さを表すためにモデルf(x)で売れた商品数yを表すときに発生する誤差を下記のような関数「E」で定義します。

E = (y - f(x))2 = (y - ax)2

 この関数Eは「損失関数」と呼ばれ、関数形はさまざまです。損失関数の関数形が異なってもその値が表すものは常にモデルが持つ誤差です。そのため損失関数の値が最も小さくなるようなパラメーターが最適なパラメーターとなります。これで最適パラメーターを探すための指針が得られました。後は、この損失関数が最も小さくなるパラメーターaを探すだけです。

損失関数を微分して最適パラメーターを得る

 ここで思い付く限りパラメーターaの値を用意し、損失関数に代入して損失関数の値が小さくなるパラメーターaを探すという方法もありますが、計算に膨大な時間がかかります。もちろんAIもそんなことはせずに微分を用いて最適なパラメーターを求めています。一般的に損失関数Eの全体図がどのような形になっているかは分かりませんが、現在入力したパラメーターで求まった損失関数の値からその傾きを微分で計算し、損失関数の値が小さくなる方向にパラメーターを移動していきます。

 この微分によって最適パラメーターが求まる過程を、図を用いて説明します。

図8

 今、考えている損失関数において「a = 0.2」が最適なパラメーターである場合に損失関数の全体図は図8のような形になることが考えられます。AIは最初aに適当な値を代入し、損失関数を得てその値での傾きを求めます。最初に代入したaの値に対して傾きが決まり、より損失関数の値が小さくなる方向にaの値を次々に変化させていきます。

 損失関数の微分によりその傾きが求められ、どちらにパラメーターを動かすべきなのは分かりましたが、どの時点で損失関数の最小点だと判断できるでしょうか? 図のように損失関数の全体図を見ることはできないため、微分で得た傾きを用います。微分の章で「傾きが0となる部分は元の関数でも変化が0となる」と解説しました。元の関数つまり、損失関数が変化しない箇所こそが求めたい損失関数の最小値になります。傾きが0となるaが求まったときにAIはそのa(今だと0.2)を用いたモデルを結果として提出します。

 まとめると、最初の疑問である「AIが何の関数に微分を用いて、何を求めているか」の回答は「AIは損失関数に微分を用いてその傾きから、モデルの最適パラメーターを求めている」となります。

まとめ

 今回のまとめは、下記2点です。

  • 微分とは関数の傾きを求めること、積分とは関数の面積を求めること
  • AIは微分を使ってデータを表す関係式を導いている

筆者紹介

原 拓自(はら たくじ)

1988年、岐阜県生まれ。大学院では宇宙物理を専攻し、卒業後はデータサイエンティストとしてキャリアをスタートする。

さまざまな会社で分析コンサルを経験した後、世界最大の外資系ECサイト会社でデータサイエンスの知識を深める。

現在は東京ITスクールの講師として、実務レベルのデータサイエンティスト輩出を目的としたAI研修に努める傍ら、分析や機械学習を用いたマーケティング支援を行う。

西村圭介

1991年、富山県生まれ。大学院を卒業し、企画コンサルタントとしてキャリアをスタートする。その後、統計学とプログラミングスキルの知見を基にデータサイエンティストとしてのキャリアを進める。現在は東京ITスクールの講師として、実務レベルのデータサイエンティスト輩出を目的としたAI研修に努める傍ら、分析や機械学習を用いたマーケティング支援を行う。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。