マウスで学ぶ AI (機械学習) 入門編 研修コースに参加してみた
今回参加した研修コースは マウスで学ぶ AI (機械学習) 入門編 です。
AI がテーマなので、コースは当然ながら満員です !!!
さて、機械学習やAIの動画やネット記事を見て、モヤモヤすることは感じませんでしょうか? 特に Python や数式です… 私は間違いなく数式のところで、そっ閉じしてます。
このコースでは、ナント、マウスでポチポチ操作すると学習モデルが作る体験ができる のです。
この Azure ML Studio を使って、実際に学習モデルを作ってみたのですが、開発の流れやどんなことをやるのかというのがわかり、モヤモヤが晴れました!
AI が気になる方、これはITエンジニアに限らずビジネス職の方も含め、AI、機械学習に興味のある方におすすめです!
では、どんな内容だったのかレポートします!!
もくじ
コース情報
想定している受講者 | 「AIのこれまでとこれから」を受講、またはAIに関する基礎知識をお持ちの方 |
---|---|
受講目標 |
|
研修コースに参加してみた
講師紹介
登壇されたのは 大石 宏一さん です。
AIをはじめプログラミング/ソフトウェアテスト/PMなど幅広く、かつ現場で使える知識と技術にこだわる人気トレーナー
大石さんが所属するクロノスでは4~5年前からAIに取り組み、AIに関する製品を3つ開発してらっしゃるとのこと。
ちなみに TechCrunch というメディアでも取り上げられた「Tokyo AI Map」にクロノスさんは載っています。
また大石さんをはじめクロノスさんには、このコースにあわせて Azure ML Studio の準備や、データセットをご用意いただき、つまづくことなくスムーズに学習を進められました。本当にありがとうございます!!
今日の狙い
講師紹介のあと、このコースの狙いを説明いただきました。
- 機械学習の仕組みはわかったんだけど、ちょっと実感がわかない
- 仕組みを作ろうとするとスグに Python などプログラミングになってしまう
- それがマウス操作だけで機械学習の学習モデルを作る体験ができる
- ただし、このコースはいつも6時間の内容なので、今回はかなり短縮
機械学習とは
まずは機械学習とは何かおさらいします。
- 今は第3次AIブーム
- 第2次では出来なかった技術の発展があった
- データ収集
- データストレージ
- 処理能力
- アルゴリズム
- いわゆる「Googleの猫」がキッカケ
- 第2次では出来なかった技術の発展があった
- 機械学習の手法
- 線形回帰など昔から手法はある
- ニューラルネットワークの DeepLearning が新しい手法
教師あり教師なし学習
- 教師あり
- 答えがあるデータがセットにして学習する
- 分類と回帰に使える
- 分類: 学習済みデータから出された値を判定する
- 回帰: 連続した値から次の値を予測する
- 教師なし
- 答えも特になく、ただデータを学習し、特徴を出す
- ただし、なぜそうなるのかがわからない…
- クラスタリングに使える
- 分類との違い: データをグループにすること
- 答えも特になく、ただデータを学習し、特徴を出す
- 強化学習というやり方が出てきている
- データを + / – の報酬で学習して学習モデルを作る
- QL (Q learning) と呼ばれる
- ディープラーニング (Deep Learning) と組み合わせて DQN と呼ばれる
- ディープラーニング (Deep Learning) で認識し、QLで判断する
- ただし判断は人間がしましょう、というのが今のAI
判断を人間がするというのは倫理的な問題もあるとのことでした。たしかにUberの自動運転の事故のようにAIの責任なのか、人間の責任なのか、なかなか難しいことになりますよね。
訓練データとテストデータ
- 訓練データ
- 学習モデルを作る上で使うデータ
- テストデータ
- 作った学習モデルをテストするデータ
- 過学習
- よく使う言葉
- 訓練データにだけ強くなってしまう
- 精度が悪くなるタイミングまでやる、という使い方もあり
機械学習の流れ
- データの前処理
- (1)収集 -> (2)欠損処理 -> (3)スケーリング処理 -> (4)訓練データとテストデータの分割
- AIの大きな失敗パターンの1つがデータが無い問題
- データは1万件ぐらい欲しい
- 逆にデータがあっても目的がないのが大きな失敗パターンの1つ
- AIの大きな失敗パターンの1つがデータが無い問題
- (1)データ収集
- オープンデータを使うこともできる
- (2)欠損値処理: データが欠落しているときにどう処理するか
- 3つのやり方がある
- 欠損値があったらデータから除外
- 平均値を入れる
- デフォルト値を入れる
- データ1件1件にこの判断をしなくてはいけない (無理ゲーだ…)
- 3つのやり方がある
- (3)スケーリング
- そのまま学習してもいいんだけど処理負荷が高いため単純な値で置き換える
- (1)収集 -> (2)欠損処理 -> (3)スケーリング処理 -> (4)訓練データとテストデータの分割
- モデルの学習
- 学習で使うアルゴリズムを選択する
- パラメータを設定する
- 学習しながら自動設定する or 自分で設定する
- 学習済みモデルの評価
- テストデータで検証することをホールドアウト検証という
- ただ多くはデータが少ないので、別のやり方がある
- k分割交差検証: 訓練データを4分割して一部をテストデータに使う
- 教師あり学習では accuracy (正答率) などを参考にする
- accuracy だけでは判断できないことがあるので注意
- 教師なし学習は主にクラスタリングに使うので accuracy ではない指標を使う
- 学習モデルの利用
- Web API のように使う
データがなくても、データがあっても失敗する。なかなかに難しいものですが、リスクを取らなければ果実は得られない、ということですね。
以前にもバズった記事がありましたが、そこでは失敗してから、ようやくユーザが腰を上げて動くようになったとありました。
AzureMLを使う
座学部分を巻きでやりながら、いよいよ Azure Mashine Learning Studio の出番です。ワクワクすぎる!!
なお、クロノスさんにクレンジングされたデータやオープンデータからピックアップ頂いています。圧倒的に感謝です!
回帰問題をやってみましょう
まずは先ほどの機械学習の流れの通り、簡単に モデルの学習 -> モデルの評価 をやってみます。
お題: 数学の点数から物理の点数を予測したい
1. データセットをアップロード
2. 訓練データとテストデータを分割
3. EXPERIMENTSを作成
EXPRIMENTS にデータセットやアルゴリズムを繋げて、学習モデルを作っていきます。
アルゴリズムは線形回帰を使い、学習モデルを作ってみました。(ここまでで15分ほど)
4. 実行してみる -> 5. 学習モデルを評価
おお!!! 動いて精度が出てます !!! まったくの素人が20分ぐらいで学習モデルを作れました!!! (スゴイAzure ML Studio)
なお、この手順はほとんど変わらないので、一度やってみるとだいたい掴めますが、それだけでなくアルゴリズムを Neural Network に変えたり、訓練データとテストデータのしきい値を変える演習もあって、操作に慣れていきます。
- Neural Network を使う
- 訓練データとテストデータのパラーメータを変更
パラメータをいじって精度が上がったり下がったり、なーーんにもわかってないのですが、なかなか雰囲気でます。
教師あり学習をやってみましょう
今度は学習済みデータ (クラスタリングされたデータ) を使ってみます。
アヤメの形状と品種のデータから新しいアヤメの品種を判別してみましょう
- データセットをアップロード
- class (品種) というカラムがあることを確認
- 1訓練データとテストデータを分割
- EXPERIMENTSを作成
- アルゴリズムはロジスティック回帰 (Two-Class Logistic Regression) を使いましょう
- 実行してみる
- 学習モデルを評価
精度がいい感じです!!
教師なし学習をやってみましょう
今度は学習前のデータをもとにクラスタリングしてみます。
無秩序なアヤメの形状データから2種類に分類してみましょう
- データセットをアップロード
- class (品種) というカラムが無いことを確認
- 訓練データとテストデータを分割
- EXPERIMENTSを作成
- アルゴリズムはK-Meansクラスタリングを使いましょう
- Number of Centroids でグループの数を選択する
- クラスタリング専用の Train Clustering Model を使う
- 実行してみる
- クラスタリングされたデータを見る
どういうクラスタになったのかはわかりませんが、できた様子です!! (われながら適当すぎるぞ…)
このクラスタリングされたデータをもとに回帰に繋げる、ということでした。そういう風に流れるのですね。なるほどー!
この演習で使った K-Meansクラスタリング を補足説明して、このコースは修了しました。
まとめ
このコースでは機械学習を Azure ML Studio を使ってマウスでポチポチしながら機械学習の処理の流れを体験しました。
なかなかページでは伝えきれないものがありますが、モヤっとしていたものがクリアになる感覚がありました。
とはいえ、これでは小並感過ぎる感想なので、もう少し掘り下げると、具体的にどのように開発していくのか、どんなデータを使うのか、訓練データとテストデータをどう結びつけるのか、つくった学習モデルをどう評価するのか、一通り出来た感覚が掴めました !!
(アルゴリズムは… いつか本気出す!?)
大石さんもAzure ML Studioなどでプロトタイプしながら、いい感じの精度になったら実装する、ということを仰っていたので「素早く失敗して、失敗から学ぶ」ということに向いてそうです。
AIの開発、機械学習で結局何をするのか、何から始めるのかといったモヤモヤをお感じの方には、とてもオススメのコースです!!
label SE カレッジの無料見学、資料請求などお問い合わせはこちらから!!
label SEカレッジを詳しく知りたいという方はこちらから !!
IT専門の定額制研修 月額28,000円 ~/ 1社 で IT研修 制度を導入できます。
年間 670 講座をほぼ毎日開催中!!
SEプラスにしかないコンテンツや、研修サービスの運営情報を発信しています。