Magicode logo
Magicode
2
4 min read

AIエンジニアではない観点で、機械学習・深層学習を整理する

はじめに

私はAIエンジニアではないので、 機械学習とは?深層学習とは? がパッとわかりやすく答えられないので、わかりやすさを重視して、自分のために整理をしたいと思いました。(いまさらですが)

また、 AIエンジニアやデータサイエンティストってどういうことができたらよいのだろう 、と漫然と思っていました。

わかりやすい定義

いろいろ見聞きする中で、私は下記の定義がわかりやすかったです。

機械学習・Machine Learningとは

・機械(コンピュータ)に、大量データを分析させて、パターンや特徴を覚えさせる(学習・トレイニング)

・学習したモデルを使って、推定・分類・データ生成などを行う(推論)

深層学習・Deep Learningとは

・人の脳の神経回路をモデルにした、多層のニューラルネットワーク(※)による機械学習の手法のこと

※ニューラルネットワーク

・学習時に脳の神経回路の仕組みを真似て計算式を定義し、パラメータを最適化したもの

・神経回路に相当するノードを積み上げる(レイヤー)

単層のニューラルネットワークでは、精度に限界があったため、何度かおきたAIブームが終わることになり、いろいろな技法(隠れ層追加、畳込みなど)で、精度の劇的な向上がなされたため、現在のAIブームにつながっていると理解。

AI(人工知能)の4レベル

AIのレベルを整理。

レベル1 単純制御:指示されたことをそのまま行う

レベル2 ルールベース:外から見ればAIに見えるが、AならばBといったルールを規定する必要がある

レベル3 機械学習:学習の着眼点は人間が教えるが対応パターンを自動的に学習する

レベル4 深層学習:学習の着眼点を人間が教えなくても対応パターンを自動的に学習する

AI(≒機械学習が組み込まれたシステム)の手法

回帰・分類・クラスタリングなどときどき聞く言葉ではあるが、何をしているのか、何をさせようとしているのかなど、しっかりとおさえる必要があるなと思う。

①回帰:データセットから傾向を見つけ将来を予測する(線形回帰/決定木回帰/ポワソン回帰)

②分類:与えられた問題がどのパターンに該当するかを識別する(ニューラルネットワーク/ディープランニング・・・)

③クラスタリング:データセットから傾向を見つけ、いくつかのグループに分類する(k平均法)

AIエンジニアの位置

AIエンジニア・データサイエンティストってどういうことができたらよいのだろう、疑問に対して、私には、こちらの記事の下図がとてもしっくりきました。 https://www.atmarkit.co.jp/ait/articles/1906/18/news012.html

ITエンジニアとして、少なくともレベル1・2は、できるようになっていないといけないのだと認識しました。

参考:AI・機械学習の開発/使用レベル

レベル1:クラウドのAIサービス/APIを使う(AIカスタマイズ機能も利用できる)

レベル2:学習済みのAIモデルを使う(転移学習で別領域に適用も)

レベル3:一般的なAIモデルを作る(ネットワークを自分で作る)

レベル4:最先端のAIモデルを使う(論文などを読んで作る)

レベル5:完全に独自のAIモデルを作る(理論を作って論文を書く)

まずは、APIを使いこなせるようになろう

すばらしい世の中になったもので、たくさんの便利なAPIが提供されています。 APIを提供する側になるためにも、まずは、APIをしっかりと使いこなしていきたいと思います。

参考①:API紹介記事
参考②:Rakuten Rapid API
参考③:API表

参考:上記URLより

参考④:API連携の重要さ

まとめ

まずは自分がどこの部分を学習しているかを知ることが重要

検索すれば学べるコンテンツはたくさんありますが、自分がどこを目指して、どの位置を学習しているのかを知ることはとても重要だと思う今日この頃です。

参考URL

https://ai.gam-batte.com/2018/06/07/ai-public26/#AI3

Discussion

コメントにはログインが必要です。