機械学習とは
AIと機械学習・深層学習の関係
近年、AI(人工知能)という言葉は日常の至るところで耳にするようになり、スマートスピーカーや自動運転、チャットボットなど技術的にも身近な存在になっています。 しかし、AIの明確な定義は確立しておらず、人間の思考プロセスに近い動作や情報処理を行うプログラムという抽象的な概念として理解されています。
AIと並べて使われる言葉に「機械学習」と「深層学習(ディープラーニング)」というものがあります。機械学習は人間の「学習」に相当するものであり、コンピュータに様々なデータを学習させることでデータの中にあるパターンや規則性を発見するものです。一方、深層学習いわゆるディープラーニングはニューラルネットワークと呼ばれる人間の脳構造を模した技術を用いてデータの中にある特徴を見つけ出す役割を担っています。
つまり、これら三つの関係性は以下のようにまとめることができます。
「AIを実現する技術の一つが機械学習であり、機械学習における分析手法の一つが深層学習」
近年のAIが見せる盛り上がりは第三次AIブームと呼ばれており、このきっかけであり中心の一つとなっているのが機械学習です。 過去2回のAIブームでは、人間がコンピュータに教えることでコンピュータは学習していました。しかし、この手法のデメリットはコンピュータの学習範囲は人間が教えたことに依存してしまう、つまり無意識の行動や思考、言語化できない事象に関しては学習させることが困難だということでした。 この課題を解決したのが「コンピュータ自身に学習させる」機械学習という技術の登場です。
機械学習の3つの学習法―「教師あり学習」「教師なし学習」「強化学習」
機械学習には「教師あり学習」「教師なし学習」「強化学習」と主に三つの分野が存在します。
教師あり学習は、明確な正解を持つデータを用いて分析・学習させる手法である一方、教師なし学習は正解・不正解が明確ではないデータを用いることで未知のパターンを導き出す手法です。
教師あり学習・教師なし学習の詳細はこちら
強化学習は、特定の環境と報酬(スコア)を用いることで報酬が最大化するようコンピュータ自身が学習し、試行錯誤することで最適な行動を導き出す学習手法です。
強化学習の詳細はこちら
機械学習の活用エリア
機械学習は私たちの生活の至るところで活躍しています。この章では機械学習の活用方法を具体的な事例を交えて紹介します。
画像系、自然言語系、テーブルデータ系
機械学習は画像や日本語・英語のような私たちが日常的に使う言語である自然言語、テーブルデータなど様々なデータに対して用いることができます。 例えば、自然言語処理であれば音声認識技術と組み合わせてスマートスピーカーや音声アシスタント機能の開発が可能になり、テーブルデータでは人数や価格などの分析と将来値の予測が可能になります。
<活用事例>
1 2 3 |
画像系 検品作業、無人店舗、がん細胞の種類判別、画像や絵画の作成 |
1 2 3 |
自然言語処理 翻訳・変換機能、チャットボット、音声アシスタントサービス |
1 2 3 |
テーブルデータ 需要予測、人数予測 |
Avintonでは画像系AIを中心としたプロダクトを展開している
このように機械学習の中にも多くの分野が存在しますが、Avintonでは画像系AIを中心としたプロダクト展開を行なっています。 車両や人のデータを学習させることでそれらの種類や位置を検出する物体検出や部品のヒビ割れやサビなど異常の有無を判定する異常検知など、これまで人の目で行われていた業務を補完する技術の開発に力を入れています。
画像系機械学習の手法
Avintonのメインプロダクトの一つである画像系機械学習は以下のような技術によって支えられています。
画像分類(Image Classification)
画像分類は、画像データを学習させることによって与えた画像がどのカテゴリに属するか分類する技術です。 例えば、犬と猫の画像をトレーニングデータとして大量に学習させることで、与えられた画像が犬か猫か分類できるモデルを作成することができます。
物体検出(Object Detection)
物体検出はその名の通り、画像や動画データから特定の物体を検出する技術です。 物体の個数をカウントしたり位置を特定するなど製造業や建設業、医療業界など様々な分野で利用されています。
セグメンテーション(Segmentation)
セグメンテーションは画像をいくつかのオブジェクト(対象)に分割する技術です。例えば、一枚の画像に人と車と犬が写っている場合、それぞれを別のオブジェクトとして識別します。
光学文字認識 (OCR, Optical Character Recognition)
OCR(光学文字認識)とは、テキスト画像や印刷された文書をコンピュータが読み取り可能な文字コードに変換する技術です。
画像生成
画像生成は、学習したデータをもとに新たな画像を生成する技術です。2つのニューラルネットワークのモデルを競わせながら同時に学習することでノイズ)から新たな画像を生成するGAN(敵対的生成ネットワークイネットワーク)が一般的ですが、最近ではテキスト入力によって画像を生成する画像生成AIも登場しています。
異常検知
異常検知は、大量の学習データと異なる振る舞いを示すデータを検出する技術です。 データ間の共通点や相違点の分析によって異常を検出するため、製造業の不良品検知や設備・部品の不具合の検知が可能になります。
Pythonについて
Pythonとは
近年のAIブームと同時に注目を浴び、人気が高まり続けている言語の一つがPythonです。 Pythonは1991年にグイド・ヴァンロッサム氏が発表したプログラミング言語でAIや機械学習分野以外にもシステム管理やアプリケーション開発など汎用性の高い言語として利用されてきました。
なぜ機械学習エリアのプログラミングではpythonが使われることが多いのか
機械学習分野でPythonが使われる理由として「シンプルなコード」「豊富なライブラリやフレームワーク」「コミュニティの大きさ」などが挙げられます。
Pythonには可読性が高く習得しやすい言語という特徴があるため、AIのような複雑なアルゴリズムを構築する際にも比較的シンプルなコードで書くことができます。
また、NumPyやPandasといった科学計算技術やデータ解析に特化したライブラリ、scikit-learnのような機械学習用のライブラリを利用できるなどライブラリやフレームワークの豊富さもPythonが機械学習分野で使われる理由の一つです。
さらにPythonのコミュニティは世界中に広がっており、活発な意見交換や優れた開発者からのアドバイスによって個々のニーズに合ったソリューションを見つけることができます。