見出し画像

【文系が理解するAI】ディープラーニング(1) 〜機械学習〜

ここからはしばらく、第3次AIブームの火付け役となった根幹の技術であるディープラーニングについて理解を深めていこうと思います。

私自身、文系出身の人間で数学については、もともと苦手でしたし、高校数学の内容もほとんど覚えていませんが、文系なら文系なりにディープラーニングという技術を理解していきたいと思います。

まずは、Chat-GPT4にディープラーニングとは何か尋ねてみました。

ちょっとわかりづらいですがまとめると以下のようです。

  • ディープラーニングはコンピュータが自分でタスクをこなすための方法(技術)の一種

  • ディープラーニングはニューラルネットワーク構造を持ち、その中には人間の神経細胞であるニューロンに相当する"層"と呼ばれるものが複数存在する

  • ディープラーニングでは層から層への情報の伝達を通じてコンピュータは学習し、学習によって与えられたタスクをうまくこなすようになる

※Chat-GPT4の回答に一部情報を補っています


次に、Chat-GPT4にディープラーニングを理解するためには、どのような概念や技術を学べば良いか尋ねてみました。

かなり項目数が多いです。

時間をかけすぎても先に進めないので、ディープラーニングについて主には下記の項目について学んだことを記載していきたいと思います。

  • 機械学習の基礎

  • ニューラルネットワークの基本

  • ディープラーニングの基本とモデル

  • ディープラーニングの応用

特に、Chat-GPTの回答にある「Transformerと自己注意メカニズム」はChat-GPTのもととなるGPT3やGPT4といった言語モデル自体の元となるアルゴリズムや技術になるので、そこまで自分なりの納得感が持てるレベルで理解できれば今後の事業展開においての視野がグッと広がるのではと期待します。


それでは早速「機械学習の基礎」から書いていこうと思います。

尚、今回は以下の書籍を参考図書として選びました。

「ゼロからつくる Deep Learning」著者:斎藤 康毅 氏

「機械学習&ディープラーニング 仕組みと技術がしっかりわかる教科書」著者:株式会社アイデミー, 山口 達輝 氏, 松田 洋之 氏


機械学習の基礎

機械学習とは?

機械学習(Machine Learning)とは、書籍内によると以下のように紹介されています。

機械学習とは、人工知能の分類の1つで、効率的かつ効果的にコンピュータが学習を行うための理論体系を指します。適切な処理を行えば、入力されたデータをもとに数値を予測したり最適化したりできるため、さまざまな分野で活用されています。

出典:「機械学習&ディープラーニングのしくみと技術がこれ1冊でしっかりわかる教科書」

「理論体系」と記載がありますが、コンピュータアルゴリズムの1つだと考えて良いかと思います。
与えられた目的に対して、学習を繰り返すことで自動的に最適化していくコンピュータアルゴリズムが機械学習です。

また、以前の記事で紹介した、総務省の「情報通信白書 令和元年版 機械学習における基本的な仕組み」によると、"AIのうち、人間の「学習」に相当する仕組みをコンピュータ等で実現するもの"と 定義されていました。

出典:総務省 情報通信白書 令和元年版 機械学習における基本的な仕組み

この定義からも「学習」が特徴とされていることがわかると思います。

では学習とは?

学習とは、入力されたデータを元に、コンピュータが入力データの持つパターンやルールを発見し、そのモデルの目的である予測や決定を行う能力を向上させる過程のことを言い、出力する値に変化をもたらすパラメータを調整する行為を指します。

パラメータとは前回記事で、パーセプトロンという人間の神経細胞を模した概念(数理モデル)である以下の図いうところのw1やw2の値で、「重み」とも言われます。
※ディープラーニングでは実際このようなシンプルな図ではないのですがパラメーターの説明用としてパーセプトロンを用いています

2層のパーセプトロン 引用:tetoblog



1990年代からインターネットが広く普及したことで、この"学習"に必要なデータが容易に収集できるようになったこと、学習をするための膨大な計算を、CPUやGPUの発達により処理できるようになったことが機械学習が発展した要因の一部のようです。

機械学習が扱う問題

機械学習では、大きく「分類」と「回帰」を取り扱います。
分類とは、どのデータがどの種類に属するのかを見出す行為のことで、例えば与えられた画像を犬なのか猫なのか判別し、分ける行為が分類です。

一方回帰とは、分類のようにはっきりとした区別のないデータ(「連続値」と言われる)を予測する行為です。
連続値とは、"売上"や"降水量"のように量的なデータのことです。(一方、「犬」や「猫」のような数字でないデータは"質的なデータ"と言われる)

このように、データが質的にせよ、量的にせよ、機械学習は主に与えられた入力データから何かを予測する問題を扱います。

機械学習の主な種類

機械学習には以下の3つの種類があります。

  • 教師あり学習

  • 教師なし学習

  • 強化学習

それぞれについてどのようなものか記載していきます。

教師あり学習

教師あり学習とは、正解となる答えが含まれたデータをモデルに学習させる、機械学習における学習手法のことです。

モデルとは簡単にいうと、"出力を得るための計算式"であり、f(x)のような関数のようなものだと思って良いと思います。

正解となる答えを「ラベル」と呼び、ラベルがついたデータを「教師データ」と呼びます。
いわば、学校の先生(教師)が答えを教えてくれる環境で勉強することにより賢くなる生徒(の頭脳)をイメージすると良いと思います。

目的のタスクが例えば「入力された画像データを犬か猫に分類する」というものであれば、学習の段階において入力する画像データにはすべて犬か猫のどちらかのラベルを付与します。
そして、モデルはそのラベルの付与された入力データから猫ラベルに共通する特徴、犬ラベルに共通する特徴、猫ラベルと犬ラベルで異なる特徴を抽出していき、パラメータを調整していきます。この学習過程は、出力の精度が良くなった段階(与えられた画像が猫か犬かうまく分類できるようになった段階)まで続けます。
すると、ラベルのついていないデータを与えてもうまく与えた画像が猫か犬のどちらか分類できるようになります。

このような学習方法が教師あり学習と呼ばれるものです。

教師なし学習

教師なし学習は、正解となる答えである「ラベル」付きのデータを与えずに学習する、機械学習における学習手法のことです。
ラベルがなくとも、与えられたデータから、そのデータ構造やパターンをモデル自体が見つけ出すことで学習していきます。

教師なし学習の中にも主に4つの手法の分類が存在します。
・クラスタリング
・主成分分析
・自己組織化
・マップベクトル量子化

正解ラベルがない中でどのように学習するのか?という疑問が浮かびますが、この中で理解しやすいのは「クラスタリング」で、いわば"グルーピング"です。
イメージで言うと、顧客リストを入力データとして4つのグループに分けるとだけ指定しておくと、その顧客リスト内にある売上や所在地などの情報から近いものをグルーピングしてくれるといったものです。
※グループ数を決めない手法があったり、グルーピングのためのアルゴリズムもまた複数存在しますが長くなるのでここでは触れません

いずれの手法も、多くのデータの中からある一定の法則を見つけ出すといった特徴があり、例えば迷惑メールを検知するアルゴリズムや、大量のアンケートデータを自動で分類するアルゴリズムに活用されています。

強化学習

強化学習とは、「エージェント」といわれるコンピューターが「環境」と言われる学習させる取り組みの対象とのやり取りを繰り返しながら学習していく手法のことで、"囲碁AI"や"将棋AI"、"けん玉をするロボット""フリースローを決めるロボット"が強化学習を用いている代表的な例です。

この学習のプロセスは、「試行錯誤」や「結果に基づくフィードバック」を通じて行われるとされており、いわば「子どもが自分で〇〇できるようになる」過程とよく似ています。

この強化学習の学習過程のイメージとしては、「エージェント」といわれるコンピューター(ロボット)が、
・フリースローを打つ("行為")
・入ったか入らなかったかフィードバックを得る("状態の更新")
・入れば"報酬"が与えられる
このようなことを繰り返し、この"報酬"を最大化するように学習(パラメータを調整)していきます。

この強化学習は、2015年Googleが開発した囲碁ゲームを行うプログラムである「AlphaGo」が、当時世界でトップ3に入る囲碁のプロに4勝1敗で勝利したことで大きな注目を浴びました。

-------

ひとまず、「機械学習の基礎」について、本記事ではここまでにしたいと思います。

次回は「機械学習の基礎」の続きについて記載していこうと思います。

この記事が気に入ったらサポートをしてみませんか?