様々な場面で目にするようになったAI、あるいは機械学習は世界的にも注目されている技術のひとつです。
機械学習はコンピュータに対して様々なモデル(学習を行うための基盤)を用意し、そのモデルを学習することによって問題を解決します。
機械学習のモデルには様々なものがありますが、その中でも最も広く使われているのがニューラルネットワークです。

ここでは機械学習とは何か、機械学習でできること、そして様々な学習方法について紹介します。

機械学習ではプログラミング言語のPythonがよく利用されています。
こちらの無料講座でPythonの基礎を学び、未経験からでもプログラミングの基礎を身につけましょう!
過去にプログラミング学習に挫折した方でも続けやすい学習プログラムになっています。
ゼロから始めるPython入門講座(オンライン・無料)+【テックジム】

機械学習・AIとは

機械学習とは、人間の学習能力と同等の機能をコンピュータにより実現する技術になります。
学習するということはデータの中に潜むパターンを発見すること、すなわちパターン認識です。
機械学習などによって人間の学習能力を再現したものこそがAI(Artificial Intelligence)、すなわち人工知能となります。

学習を行う元となるプログラムを学習モデルと呼びます。
そして学習を行ったモデルに対して未知のデータを投入したときに、学習内容を元にした意思決定を行います。

例えば、リンゴの写真とバナナの写真を学習させたモデルに新しい写真を見せたとき、そのモデルは自身の学習の経験を元にその写真がリンゴであるかバナナであるかを判断します。
このような機械学習のタスクを分類問題といいます。

他にも、過去の株価の変動を元に次の株価を推測するような場面でも機械学習は活躍しています。
これは前述の例のようにあらかじめ決められた選択肢に分類するものとは異なり、具体的な値を推測するタスクで、予測問題といいます。

現在は以前に比べ、大量のデータ(ビックデータ)を解析することでより正確な結果を出力できるモデルを短い学習時間で得られるようになりました。
様々なデータが蓄積され、コンピュータの処理性能が向上したことにより、機械学習の技術は進歩しその需要も高まってきました

機械学習のアルゴリズムとしては、ニューラルネットワーク決定木SVM(サポートベクターマシン)など様々な手法があります。
さらに、機械学習の手法のひとつであるニューラルネットワークをより多層化し、深い学習を実現するディープラーニング(深層学習)という言葉もよく耳にするようになりました。

機械学習エンジニアを目指したいなら、本格的にプログラミングを学べるスクールを利用してみてはいかがでしょうか?
データサイエンス・機械学習に特化したコースでプロのエンジニアにチャットで質問することもできます。
まずは、無料体験・無料カウンセリングから自分にあったコースを探してみましょう!
データサイエンスコース

教師あり学習・教師なし学習

学習にはモデルにもよりますが、多くの場合は大量のデータが必要になります。
使用するデータの性質によって、学習の種類を分類することができます。

教師あり学習・教師なし学習、そして半教師あり学習についてその違いを紹介します。

教師あり学習

学習データに、それが何なのかという答え(ラベル)を付随させたものを用いる学習教師あり学習といいます。
このようにラベルを付ける作業をラベリング(アノテーション)といい、ラベリングを行ったデータのことを教師データといいます。

答えが既知のデータを用いて学習するため、精度の高いモデルを生成できます。
一方で、大量のデータに対してラベリングをしなければいけないため、手間がかかるのが欠点です。

例として「ねこ」と「いぬ」の画像を分類する問題であれば、学習に用いる各画像に対してそれがどちらであるかをモデルに教えなければいけません。
ラベリングは非常にコストがかかるため、個人レベルで大量の教師データを用意しようとするとかなり大変です。

教師あり学習のタスクは主に分類と回帰の2つに分けられます。

分類問題では、モデルに与えたデータがあらかじめ用意したクラスのどれに属するかを推測します。
2つのクラスに分類する2クラス問題と、3つ以上のクラスに分類する多クラス問題があり、ニューラルネットワークやSVM、決定木など様々な手法が存在しています。

回帰問題では連続的な値の予測、つまり具体的な数値の予測を行います。
株価や売り上げ、気温の予測や、経済分析などによく用いられています。
ニューラルネットワークは分類問題だけでなく、回帰問題にも用いることができます。

教師なし学習

教師なし学習は教師あり学習とは異なり、学習データに正解となるラベルがありません
モデルが正解を知らない状態で学習をするため、モデル自身がデータの意味を突き止める必要があります。
このような手法では、データを探索することでその内部構造を学習することが目的となっています。

教師なし学習の代表例として、クラスタリングがあります。
クラスタリングにおいてモデルは似た特徴を持っているデータ同士をグループ化しますが、それがどんなグループであるのか(教師あり学習におけるラベル)は解釈できません。

教師なし学習にはクラスタリングの他にもセグメンテーションや主成分分析(PCA)などがあります。

半教師あり学習

ラベル付きのデータとラベルなしのデータの両方を組み合わせて行う学習半教師あり学習といいます。
教師あり学習においてラベリングの手間を少しでも省きたい場合や、都合上どうしてもラベリングが行えないデータが存在するときに利用します。

多くの場合、少量のラベル付きデータと大量のラベルなしデータによる学習を行います。
コストを削減しながら教師あり学習と同等の用途で学習ができます。

強化学習

強化学習は教師あり学習や教師なし学習とは異なり、学習のためのデータを必要としません
達成したい目標を設定しておき、学習プログラムであるエージェントと呼ばれる存在がその目標を達成するために何かしらのアクションを繰り返します
そして、エージェントが目標を達成するまでの行動に対して報酬を与えます。
エージェントはより高い報酬を獲得できるように行動の改善を繰り返すことで学習を行います。

エージェントは適切な方針(ポリシー)に従うことで速やかに目標を達成できるようになります。
つまり強化学習では、この最適なポリシーを学習することを目的としています。

強化学習はゲームAIなどに多く用いられている手法になります。

転移学習

転移学習は、すでに学習された学習モデルを転用してさらに学習を行う手法です。
人が過去に学習した内容を別の分野にも生かそうとするのに似ています。

学習済みのモデルを利用することで、通常よりも少ないデータで学習が行えるメリットがあります。
大量のデータを用意することが難しい場合や、短時間で学習を行いたい場合に大きな効果を発揮します。

さらに理論的な話をすると、転移学習はニューラルネットワークで用いられる手法で、学習済みモデルの後方にさらにレイヤを追加して学習させるというものです。
一方、レイヤを追加したうえで学習済みモデル全体を微調整するファインチューニングという手法もよく用いられています。

機械学習の活用例

機械学習は様々な場面で活用されていますが、その中でも代表的な例をいくつか紹介します。

チャットボットはユーザとの自然な会話を行ったり、ユーザの質問に対して適切な受け答えを行ったりする身近なAIです。
ここでは自然言語処理やテキスト生成の技術に機械学習が使われています。

画像認識も広く活用されている技術のひとつで、スマートフォンのロック解除などに応用されています。

音声認識は異常音検知であったり、自動字幕生成などに利用されています。

OCRは手書きの文書などから文字を読み取り、デジタルデータとして取り込む技術です。
様々な企業がDX(Digital Transformation)を進める中、今後の活躍が期待されます。

まとめ

機械学習は今や私たちの生活にとっても身近な、当たり前の技術となってきました。
コンピュータに人間と同様の学習能力を再現するために、様々な手法が考案されています。

教師あり学習では学習データにラベルを付けた教師データによる学習を行います。
生成されるモデルの性能は高いものの、ラベリングに手間がかかります。

教師なし学習ではラベルの付いていない学習データにより学習を行います。
使用用途は限られていますが、比較的手軽に学習が行えます。

強化学習はゲームAIなどに用いられる学習手法です。
エージェントに対して報酬を与え、よりよいポリシーを探求します。

転移学習やファインチューニングは、すでに学習されたモデルを利用して追加で学習を行います。
少ない学習データで高い精度を得ることができるため、ディープラーニングなどによく利用されています。

AIエンジニアやデータサイエンティストへのキャリアチェンジを目指すなら、3カ月間の集中プログラムで徹底的に学習しましょう!
業務課題をAIを用いて解決したい方、教養としてAIを学習したい方にもおすすめです。
オンラインでPythonの基礎知識からしっかり学べるコンテンツを利用できます。
AIを学ぶならアイデミープレミアムプラン

関連記事

この記事のタグ