SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

翔泳社 新刊紹介(AD)

なぜいま機械学習が注目されているのか――教師あり学習、教師なし学習、強化学習の基本を理解する

  • X ポスト
  • このエントリーをはてなブックマークに追加

 機械学習への関心が高まる中、特にその手法の一つである深層学習が注目されています。こうした流れを感じ、これから技術を身につけたいと考えている方も多いのではないでしょうか。しかし、まずはその土台となる機械学習について理解を進める必要があります。今回は翔泳社が発売した『Pythonで動かして学ぶ!あたらしい深層学習の教科書』から、機械学習の概論を紹介します。なお、本書ではデータ可視化やグラフの作成などを解説したあと、深層学習についても具体的に解説しています。

  • X ポスト
  • このエントリーをはてなブックマークに追加
本記事は『Pythonで動かして学ぶ!あたらしい深層学習の教科書 機械学習の基本から深層学習まで』の「第1章 機械学習概論」を抜粋し、掲載にあたり編集したものです。

1.1.1 なぜいま「機械学習」が注目されているのか

 機械学習はそもそもなぜ大きく注目されるのでしょうか。主な理由の1つとして、「人間では到底実現不可能な短時間で、大量のデータから自動的に正確な結果を得ることができる。」ことが挙げられます。機械学習は、大量のデータからパターンを読み取り、問題を解決します。大量のデータを人力で処理するとなると、非常にコストがかかり現実的ではありません。以上の理由から、画像、音声、マーケティング、自然言語、医療など様々な分野において真価を発揮し、今日機械学習が大変注目を集めています。さらに、時代とともに、コンピュータの処理速度が向上し豊富なデータの解析に耐えうるデバイスが登場したのもその要因の1つでしょう。

 さて、最近「人工知能(AI)」「機械学習(マシンラーニング)」「深層学習(ディープラーニング)」など、様々な技術が取り沙汰されています。こうした概念の関係性を以下の図1.1に示します。

図1.1:「人工知能(AI)」「機械学習(マシンラーニング)」「深層学習(ディープラーニング)」など、様々な技術
図1.1:「人工知能(AI)」「機械学習(マシンラーニング)」「深層学習(ディープラーニング)」など、様々な技術

 上記の図1.1からもわかるように、人工知能(AI)はかなり広範囲のことを表現する言葉です。例えば、ひたすら条件を並べて分類するようなアルゴリズムも人工知能と言われます。If-Then形式の知識表現アルゴリズムなどと呼ばれることもあります。こうした手法は、昨今話題の技術とは言いにくいので、本書では取り扱いません。ここからは、「深層学習(ディープラーニング)を含む機械学習(マシンラーニング)」を概観していきましょう。

問題

 次の人工知能に関する説明文のなかで、誤っているものを選んでください。

  1. 人工知能(AI)は、画像、音声、マーケティングなどの分野で活用されます。
  2. 機械学習は、大量のデータからパターンを読み取り、問題を解決する手法です。
  3. 深層学習(ディープラーニング)手法のなかの一部が機械学習(マシンラーニング)手法です。
  4. 人工知能(AI)アルゴリズムには、If-Then 形式のみで知識表現を行うものも含まれます。

【ヒント】
「誤っている」ものを選ぶ問題なので気を付けてください。

解答例

3. 深層学習(ディープラーニング)手法のなかの一部が機械学習(マシンラーニング)手法です。

1.1.2 機械学習とは

 そもそも「機械学習」とは何でしょうか。簡単に言うと、機械学習とは「データから反復的に学習し、そこに潜むパターンを探し出すこと」と言えます。ここで言う「データに潜むパターン」とは何でしょうか?

 例えば、人間は、目の中にある網膜から光の信号を受け取り、瞳に何が写っているかを高速に認識することができます。りんごやみかんといった果物や、机や椅子といった家具を瞬時に見分けることができ、りんごを椅子と間違うことはありません。なぜ、間違えないのでしょうか。それは、りんごと椅子との間に特徴(パターン)の違いがあるからです。りんごと椅子、それぞれにあるパターンが存在します。椅子は四角でりんごは丸い、これも1つのパターンです。りんごは赤色で、椅子は茶色である、これもパターンです。人間は、そのパターンの違いを瞬時に見分けるために、りんごを椅子と間違えないのです。

 しかし、コンピュータにとってりんごや椅子の画像からパターンを見つけ出すのはとても難しいことです。例えば、「りんごは、赤色で半径5cm程度の球である。」とコンピュータに教えたところで、ボールを赤色に塗ったものをりんごと誤認してしまいます。このように、人間の知識を特徴という記号だけで完全に記述するのは難しいことです。特徴を教えられただけで機械は本当に実物を「理解」できるのかという問題は「記号接地問題」と呼ばれ、人工知能が解決すべき難解な問題の1つと言われています。

 その問題の解決手段として機械学習では、人間の知識を記述せず、大量のりんごの写真から共通して現れるパターンを見つけ出し、取得する手法が採られたりしています。ひとくくりに手法と言っても、様々なものが存在します。機械学習の手法を大きく3つに分けると、以下のようになります。

  1. 教師あり学習(Supervised Learnings)
  2. 教師なし学習(Unsupervised Learnings)
  3. 強化学習(Reinforcement Learnings)

 ここで「教師」とは何のことを指すのでしょうか? 次項から各手法について見ていきましょう。

問題

 次の文の「」に当てはまる語句の適切な組み合わせを選びましょう。

 機械学習の手法を大きく3 つに分けると、「」「」「強化学習」となります。

  1. 「教師あり学習」、「記号接地問題」
  2. 「記号接地問題」、「教師なし学習」
  3. 「教師あり学習」、「教師なし学習」

【ヒント】
「記号接地問題」は人工知能が解決すべき難解な問題の1つでした。

解答例

3.「教師あり学習」、「教師なし学習」

1.2.1 教師あり学習を理解する

 さて、ここからは機械学習の中で、代表的な手法の1 つ、「教師あり学習」について学んでいきましょう。

 教師あり学習の「教師」とは、「データに付随する正解ラベル」のことを言います。「データに付随する正解ラベル」とはどういうものを指すのでしょうか? 以下の図1.2を見てください。

図1.2:データに付随する正解ラベル
図1.2:データに付随する正解ラベル

 さて、左から様々なデータと、その内容を表すカテゴリや数値が与えられています。こうした内容を表すデータは「正解ラベル」などと言われます。データ(1)は手書き文字(画像)で、教師データとして「5」が与えられています。データ(2)は写真のような画像で、教師データとして「horse」が与えられています。このように、画像データを扱うものは、「画像認識」などと言われており、機械学習のなかでもディープラーニングの得意とする分野です。

 データ(3)は文章で、教師データとして「夏目漱石」が与えられています。このように、文章を扱うものは「自然言語処理」などと言われています。自然言語処理分野では、言語ごとに違うデータセットを用意しなければならないので、情報を集めにくいのが特徴でしょう。

 データ(1)~(3)のように、最終的にカテゴリを予測するものを「分類問題」と呼びます。データ(4)は広さなどの定量的なデータを元に、正解ラベルとして家賃「60,000円」が与えられています。最終的に家賃などの連続値を予測するものは「回帰問題」と呼ばれます。

 以下に、教師あり学習の流れについてまとめておきます。

  1. 様々な教師データをコンピュータに与え、「正解ラベル」を学習し、「正解ラベル」を出力するように学習モデルを生成する
  2. 生成したモデルに未知のデータを適用した時に、「正解ラベル」に近い値が出るかどうか検証する

 基本的には、大量のデータを使って、コンピュータが正解ラベルに近づくようにひたすら反復して処理を行うのが、教師あり学習の基本原理です。

問題

 回帰問題として適切なものの組み合わせを選んでください。

  1. 「家賃予測」と「気温予測」
  2. 「売上予測」と「0~9の手書き文字認識」
  3. 「画像に写っているものの識別」と「文章の著者予測」
  4. 「顔写真の男女識別」と「株価予測」

【ヒント】  数値の予測は「家賃予測」「売上予測」「気温予測」「株価予測」で、カテゴリの予測は「0~9の手書き文字認識」「画像に写っているものの識別」「文章の著者予測」「顔写真の男女識別」になります。

解答例

1.「家賃予測」と「気温予測」

1.2.2 教師なし学習を理解する

 さて、次に「教師なし学習」を確認しましょう。前項で確認した通り、「教師あり学習」には「正解ラベル」という答えが存在するのに対し、「教師なし学習」は「正解ラベル」がありません。与えられたデータから規則性を発見し、学習する手法です。教師あり学習では、コンピュータにあらかじめ答えを与えていたのに対し、教師なし学習では、コンピュータに自分で導いてもらいます。そのため、教師なし学習には、正解や不正解が存在しないのが特徴です。

図1.3:データに付随する正解ラベル
図1.3:データに付随する正解ラベル

 図1.3の20個の点の集合を見てください。人間がこの点の集合を見れば、3つのまとまりを帯びているのがすぐにわかると思います。この3つのまとまりを機械に認識させるには「教師なし学習」の1つである、「クラスタリング」といった手法を用います。すると、機械もこのように3つの塊で点が構成されているのを認識できるようになります。一般に、「教師なし学習」はデータの集合の中からある法則性やデータのグループを導き出すような意図で用いられます。

 教師なし学習はおすすめの商品やメニューを推薦するレコメンデーションで用いられたり、多次元のデータの情報(データ)を圧縮する時に用いられたり(主成分分析や次元削減などと呼ばれます)、情報(データ)を圧縮するために自然言語処理などの分野でよく用いられたりします。

問題

 次の文の「」に当てはまる語句の適切な組み合わせを選んでください。

 教師なし学習は、正解ラベルが「」を扱い、代表的手法に「」があります。

  1. 「与えられているもの」、「ランダムフォレスト」
  2. 「与えられていないもの」、「ランダムフォレスト」
  3. 「与えられているもの」、「クラスタリング」
  4. 「与えられていないもの」、「クラスタリング」

【ヒント】
 「ランダムフォレスト」とは、「教師あり学習」の手法の1つです。

解答例

4.「与えられていないもの」、「クラスタリング」

1.2.3 強化学習を理解する

図1.4:エージェントと環境
図1.4:エージェントと環境

 実際に強化学習のモデルとしては、以下の動画がわかりやすいでしょう。

・バラ積みロボット: 深層学習で教示レス動作獲得
 URL https://www.youtube.com/watch?v=ATXJ5dzOcDw
 出典Preferred Networks, Inc.

 動画の再生時刻で0:16の時点では、学習が進んでおらず、ロボットがうまく円柱の部品をピッキングできていません。しかし、0:55の時点では、学習が進み、ロボットが9割以上の確率でうまく部品をピッキングできています。ロボットの動作やシミュレーションを通じ、コンピュータが自動的に「良い」評価になるような動き方を学習するのが「強化学習」です。

問題

 次の文の「」に当てはまる語句の適切な組み合わせを選びましょう。

 強化学習は「」を必要としない学習手法で、画像認識と組み合わせて「」などで使われています。

  1. 「正解ラベル」、「ロボットの制御」
  2. 「報酬」、「ロボットの制御」
  3. 「正解ラベル」、「手書き文字認識」
  4. 「報酬」、「手書き文字認識」

【ヒント】
 「手書き文字認識」は主に「教師あり学習」のアルゴリズムで実現できます。

解答例

1.「正解ラベル」、「ロボットの制御」

添削問題

 この章で学んだ知識を総結集して挑んでみましょう。次の問題文にある1.~8.の空欄に当てはまる語句をそれぞれ考えてください。

問題

 機械学習は、大きく分けて「1.」「2.」「3.」の3つの手法があります。その中でも最も代表的な手法が「4.」です。「4.」は人間の学習過程を模したものです。仕組みは、「5.」で学習をし「6.」という手法を用い、答えを出した後、正しい答えである「7.」を見て答え合わせをします。結果が間違って入れば再度、「8.」を行い答えが当たるまで何度も学習し直します。

【ヒント】
 どの語句もこの章で学習したものばかりです。わからない語句があったら再度本章の本文に戻って復習しましょう。

解答例

 機械学習は、大きく分けて「教師あり学習」「教師なし学習」「強化学習」の3つの手法があります。その中でも最も代表的な手法が「教師あり学習」です。「教師あり学習」は人間の学習過程を模倣したものです。仕組みは、「学習データ」で学習をし「機械学習アルゴリズム」という手法を用い、答えを出した後、正しい答えである「ラベル」を見て答え合わせをします。結果が間違って入れば再度、「計算」を行い答えが当たるまで何度も学習し直します。

解説

 機械学習における代表格「教師あり学習」は、「教師データ」という問題そのものと問題の答えが付属したデータを扱うことが特徴です。学習データから機械学習アルゴリズムを用い答えを出したのちラベルデータを用いて答え合わせをし、正解するまで何度も答え合わせをするのです。「強化学習」は最近になって特に注目され始めた技術で、ボードゲームの分野で強みを持ちます。最近では、囲碁で応用されたのが最も有名でしょう。「教師あり学習」「教師なし学習」「強化学習」は第16章で詳しく解説するので、楽しみにしていてください。

Pythonで動かして学ぶ!あたらしい深層学習の教科書

Amazon SEshop その他

Pythonで動かして学ぶ!あたらしい深層学習の教科書

著者:株式会社アイデミー 石川聡彦
発売日:2018年10月22日(月)
価格:3,456円(税込)

本書について

本書はアイデミーで大人気の講座『ディープラーニングで画像認識モデルを作ってみよう!』の書籍化企画です。Pythonの基本から、機械学習の基本、ニューラルネットワーク、そして深層学習について、わかりやすく解説します。

 

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
翔泳社 新刊紹介連載記事一覧

もっと読む

この記事の著者

渡部 拓也(ワタナベ タクヤ)

 翔泳社マーケティング課。MarkeZine、CodeZine、EnterpriseZine、Biz/Zine、ほかにて翔泳社の本の紹介記事や著者インタビュー、たまにそれ以外も執筆しています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11130 2018/10/29 07:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング