ビッグデータが扱えるようになった昨今、日常生活からビジネスまでAI(人工知能)の活用が広まっています。
AIとは知的な情報処理をするものといった概念のことを指し、それを実現する手法として機械学習、ディープラーニングがあります。
本記事ではAI、機械学習、ディープラーニングの関係性と仕組み、できること、勉強方法をご紹介します。
目次
AI、機械学習、ディープラーニングの関係
AIとは、知的な情報処理をするものという概念です。Googleフォトによる人物の識別機能や、サイト上にある問い合わせチャットボットなどもAIといえます。
機械学習とは、AIを実現する手法のことです。画像から人物を識別する、テキストから最適な答えを導き出すといったプログラムをコンピュータ自身が作り出します。
ディープラーニング(深層学習)は、機械学習の手法の一つです。機械学習の手法は様々なものがあり、ビッグデータとコンピュータの発達によって色々な場面で活用されている手法です。
機械学習、ディープラーニングの仕組み
機械学習は、人間が明示的なルールをプログラミングすることなく、コンピュータ自身が学習してプログラムモデルを作ります。
猫と犬を識別するプログラムを明示的なルールで作る場合、耳が三角で、目が吊っていて、小ぶりで…と条件分岐を作る必要があります。
たくさんの種類がいますし、全ての特徴を網羅したルールベースのプログラムを作るには限界があります。
そこで、たくさんの犬や猫の画像をコンピュータに読み込ませ、画像から様々な特徴をコンピュータ自身が見つけ出し、犬と猫を区別するモデルを作り出す仕組みが機械学習となります。
機械学習には、学習方法として教師あり学習、教師なし学習、強化学習の3種類があります。
機械学習の種類 | 概要 |
---|---|
教師あり学習 | 入力と答えのラベルがついたのデータから学習する方法。 犬の画像(入力)=犬(ラベル・答え)といったデータを用いて学習する。犬か猫かといった分類や、売上金額の予測などに用いる。 |
教師なし学習 | 答えのラベルがないデータから学習する方法。 Youtubeの閲覧履歴からユーザーをセグメント化するなど、何かをクラスタリングする場合によく用いる。 |
強化学習 | 教師なし学習の一種で、最終的な目標に達成するために報酬をフィードバックに繰り返す学習方法。 アルファ碁にも用いられ、勝利するという目標に最も近づける方法を、勝つパターンをフィードバックしながら繰り返す学習方法。 |
ディープラーニングは機械学習の手法の一つで、ニューラルネットワークというアルゴリズムを元としています。
ニューラルネットワークとは、脳の神経構造(ニューロン)を模倣した機械学習の手法で、入力層、中間層、出力層から構成されます。
TensorFlow Playgroundというサイトで、ニューラルネットワークを体感することができます。
入力層のデータから得られた特徴を、中間層、出力層でニューロン間の関係を調整し、正解に近づけていきます。
▼ニューラルネットワーク
この中間層を多層にしたものがディープラーニングとなります。
より複雑なデータを処理する場合、中間層を多層にしたディープラーニングの必要性が出てきます。
▼ディープラーニング
ディープラーニングは膨大なデータと計算量が必要となります。
画像や音声などの非構造化データを取得し保存できるデータ基盤技術の発達や、クラウドのコンピュータリソースで膨大な計算処理ができるなど、今日の技術がディープラーニングの活用を後押ししています。
機械学習、ディープラーニングでできること
機械学習、ディープラーニングのアルゴリズムは様々なものがあり、最適な用途も異なります。
以下はアルゴリズムと用途の一例です。
種類 | アルゴリズム | 概要・用途 |
---|---|---|
教師あり学習 | 線形回帰 | 目的変数(予測したい値)が説明変数(目的変数に影響する値)によって線形に表せるアルゴリズム。 売上予測などで利用する。 |
ロジスティック回帰 | 目的変数を0か1かで表すアルゴリズム。 商品を購入するかしないかなど、0か1かを分類するときに利用する。 | |
CNN(畳み込みニューラルネットワーク) | 畳み込み層・プーリング層から構成されるディープラーニング。 画像認識で高い性能が発揮できる。 | |
RNN(再帰型ニューラルネットワーク) | 時系列データを扱うことができるディープラーニング。 音声認識や翻訳などの自然言語処理で利用する。 | |
教師なし学習 | k平均法 | 非階層クラスター分析の代表的なアルゴリズム。 ユーザーや商品のセグメント分けなどに利用する。 |
オートエンコーダ | 次元削減を用いるディープラーニング。 異常検知などで利用する。 | |
強化学習 | Q学習 | Q値(行動価値関数)を学習していくアルゴリズム。 ゲームなどで利用する。 |
ディープラーニングはCNN、RNN、オートエンコーダーなどのアルゴリズムがあり、主に画像認識、自然言語処理、音声認識といった分野での活用が目立ちます。
また、ディープラーニングと強化学習を組み合わせた深層強化学習では、自動運転やアルファ碁に用いられています。
ディープラーニングは大量のデータから複雑な問題を解決する場合に最適です。予測分析など比較的単純なものであれば線形回帰を利用する方が適しています。
目的・データを明確にしてからアルゴリズムを選択することが大切です。
勉強方法
機械学習、ディープラーニングの概念を学ぶ
- グーグルに学ぶディープラーニング(2017)
AI、機械学習、ディープラーニングの概念から、グーグルや国内企業のディープラーニング活用事例が書かれています。ビジネスでAIを活用していくための活用フレームワークなども掲載されています。 - 人工知能は人間を超えるか
サルワカさんの本当に面白い本100冊で”人工知能の概念を学ぶならこの一冊”と紹介されています。
実装方法を学ぶ
- ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装(2018)
ITエンジニア本大賞2019技術書部門ベスト10にも選ばれた本です。①②③とシリーズがあり、ガッツリ実装できるようになりたい方におすすめです。 - Udemy機械学習コース
オンライン動画学習サービスです。AIの基礎から実装までを動画で学ぶことができます。
Google Cloudで学ぶ機械学習
- Applying Machine Learning to your Data with GCP 日本語版
オンライン学習サービスCourseraで公開しているプログラムです。機械学習の概要から機械学習API・BigQueryMLの利用方法について学ぶことができます。 - Machine Learning Crash Course
機械学習やディープラーニングの基礎が動画・テキストで学べる無料の学習サイトです。全て英語ですが、実装を含めた機械学習・ディープラーニングの基礎は網羅できるように思います。
まとめ
機械学習とディープラーニングについての違いと仕組み、できることと勉強方法をまとめました。
最近では機械学習やディープラーニングのアルゴリズ実装をせずとも、APIの利用やクラウド技術で簡単に実装できる手段が増えています。
必要な知識を身につけることで、専門のエンジニアでなくともAIを実装できる環境が整っています。
BigQuery MLでTwitterエンゲージメント数の予測モデル作成の記事では、BigQueryで機械学習を利用する方法を解説しています。勉強方法で紹介した本やサイトとあわせて、ご興味あればご覧ください!