AI2nd#4ふりかえり(機械学習入門)
note更新が遅れ気味・・・
2週目からさらにAIについて詳しく学んでいきます。
01 質問回答
A1:統計学の知識を用いて数字を上手く使えるようになることで、他人に納得してもらい意思決定に活用することができます。主観を完全に排して合理的な説明をすることができるので、組織のためになる意思決定にデータドリブンの結果を用いることができるのです。
A2:たとえ豊富な知識があるとしても、かかわりがありそうなデータというのがわからないので、主観で切り捨てずにいろんなデータを集める必要があります。現場で作業している熟練の職人さんですら気づかないデータが関係しうるので、いずくね先生でさえ追加でデータを集める場合もあるそう。
A3:活用可能だと思います。信頼区間の考え方から金額のMAX~MINまでを予測して提示できる可能性があります。図面データを集めて概算を出すことになると思います。
(すぐに概算を出せることで機会損失も防げるというメリットもありそう)
A4:あります。信頼区間を算出するために最低限必要なデータ量はあります。母集団によっては有意水準を出すためにたくさんデータが必要な場合もあります。
料理の味見の例:よく混ざっているのであれば、スープの味見は総量に関わらずスプーン一口あればわかりますよね。
A5:A1とも共通しますが、自分の主張を裏付けるために統計の考え方を活かして経営層(上司)に納得して意思決定させることが可能になる学問が統計学です。
02 機械学習入門
機械学習の研究の歴史は古く、人間の脳の仕組みから分析されてきました。
ここでは、脳の仕組みについても解説します。
見えている情報から、野菜の切り方を気を付けたり、捨てる部位を決めたりと脳で判断している。技術に上手い下手があるものの、誰しもが経験をもとに手を切らないように注意したり素早く作業できたりするのです。
(プロ料理人レベルだと経験値がたくさんあるので、より早く判断して素早く作業してますよね)
こうした作業のプロセスについて細かく理解できれば、機械学習によって置き換えることに近づけます。AIとは、脳の作業を変換しているのです。
アルゴリズムとは、PCで走らせる自動処理と考えてください。関数の働きのように、人間と同じようなインプットからアウトプットを出せることを狙いとしています。
AIに代わりに作業をしてもらうことは、言い換えると「人間の作業」を細かく観察して「できあがる結果」を求めることになります。
AIの最も最初の研究は、「コンピュータに人間の代わりをさせよう」というところから始まっています。チューリングテストを合格することが一定の目標だったが、2014年についに現れた。
Q:知能とはどういう定義ですか?犬や猫とは違う人間の知能とは?
⇒言語を介してコミュニケーションがとれること・・・?
いずくね先生:経験を通して、学習できること。課題に対して課題を解決するために賢くなって学習を行えること。(個人的見解です)
答えのあいまいな哲学的問いですが、AIを構築する上では避けられないポイントです。
どっちが良いという話ではないので、下記に定義を書きます。
強い⇒応用が効く、tough(道具で多様なサポートするドラえもん)
弱い⇒専門的、narrow(狭いところに効果的なもの)
AI人材育成講座では、弱いAIを用いて専門的に解決するツールとして使えるようになってほしいと考えています。
確かに、ドラえもんが強いと思われますが、多様な学習をしているかわりにある種「一般的な能力の高さ:特定の(細い)課題解決に関しては不便」
⇒chatGPTは強いAIに分類されます。
ドラえもんに寿司を握らせるより、寿司を握ることに特化した専門マシンに握らせた方が美味そうじゃないですか?
受講している皆さんは「組織の困りごと」をかかえて来られていると思うので、弱いAIについてぜひこの講座で身につけていってください。
前回のテーマから深堀します。
画像の分析では、画像であっても数値化(RGB値かな)して、それに対して基準値を上回っているのかどうかで判定をくだすのです。りんごの合否判定であれば、基準値としては「赤さ」だったりをイメージしてください。大きさの軸では、物理的に大きいことやカタチが適切かといった項目をイメージしてください。
AIの調整では、関数部分における係数を調整することになり、リンゴのフレッシュさを学習することで基準値を決めます。どうなったら出荷できないのかと数値として基準値をAIが学習します。
02 モデルの構築
人間によって合否を決めることをどのように基準値として学習させるのか、そこが本日のメインテーマになるので、説明します。
AIの世界では、モデルという言い方をします。「何かをインプットして何かをアウトプットすること」自体をモデルと呼びます。
インプットを説明変数
アウトプットを目的変数
といいます。
りんごの色味と大きさの例です、ある程度を満たすラインを閾値として設定するのですが、3つだけだといろんな場所にラインが引けます。閾値のラインを引くことそのものが、モデルを構築することになります。ライン引きが人間が行う判断と比べて正確であればあるほど「賢い」AIと言われます。
リンゴの例であれば、線を明示できるのでどのように判断したかが確認できるが、世の中では仕組みがわからないけどうまくいってるAIもたくさんある。顔認証システム(FaceID)もそうですね。
(説明可能なAIの方が少ない)
<職人のカン>
AIエンジニアがどのようにAIを構築していくかというと、とにかく現場を知るために「弟子入り」するところから始まります。職人さんの作業や判断を形式知として言語化できるように徹底的に観察します。属人的なものを言語化するのです。加工する材料のどんなところを見てどういった基準をもって作業に取り組んでいるのかを何度も観察します。
Q:クオリティの低い職人さんをデータに取り込むと、精度が落ちる可能性があるのではないのでしょうか?
A:何をもってクオリティの高い職人とするのか、【人間が定義】する必要があります。業務の効率化と言えば、【トヨタ生産方式】があるので、参考になるかと思います。
参考記事
03 AIの種類(重要ポイント)
03-1 教師あり学習
説明変数と目的変数がわかっている場合に使う種類です。
⇒それが難しいときには教師なし学習を検討します。
意思決定の判断に使いやすいです。
03-2 教師なし学習
説明変数と目的変数のセットのように明確な正解がないが、多量のデータから判断基準を作成すること
何次元でも解析できるし要素数が増えても対応できるのが機械の強みですね。異常検知ができる原理は、「普通と違うもの」が出てきたのが【異常】と判断する。
(保険会社の例:嘘をついて保険金をもらうやつを見つけたい⇒異常検知AI)
03-3 強化学習
出力の合否がわかる場合に使う。説明変数から目的変数が出てくるときに、答えが人間で明確に定義できるとき使います。
(シミュレーションをたくさんさせるとイメージしてください)
RTAのようにゲームの練習をさせた事例があり、マリオが画面の左から右へ「いかに早く」ゴールできるかを強化学習させたものもあります。
交通法規という確固たる合否判定があるような、自動運転の機械学習にも使われることがある。
解決しようとしている課題が、どのような性質がによってAIの種類の向き不向きが見分けられると一気に解決に近づけるので、ぜひとも理解しましょう!
今の時代、AIはコスト安く試せる技術なので悩みすぎずにどんどんトライしてみるといいと思います。
(もちろん分類の分け方についてAIに相談して聞いても良いです)
AIの種類について、分類が理解できることは、PBLでもとても大事になるはずです。
うたのんさんが理解度テストを作成してくださいました!
ありがとうございます!!
04 機械学習の種類
ここでは、機械学習そのもののカテゴリー(どうやってAIが賢くなるかの方法)について学びます。
・強化学習
人間が用意したルールとデータ(と答え)によって機械が賢くなる
・DeepLearning
人間の脳の構造を真似したもので、ニューラルネットワークという仕組みが考えられたが、最近ではそれを何層も重ねたディープニューラルネットワークが「なんとなく」できるようになるように進化してきた。法則をたくさんのデータから見つける。
AIがどんなふうに賢くなるのかを理解してもらうことが目的です。
かくれんぼに勝つためのAIを作ろうとして、ルールを決めて何万回と繰り返して学習させます。
1:勝つために出入口をふさぐことを学ぶ(青)
2:スロープの効用に気づき、活用する(赤)
3:スロープも封印することを学ぶ(青)
スロープの効用はあくまで「たまたま身体が触れて勝率が上がった」ことから気づくので、もともと教えられたものではない。
<レントゲン画像の診断をAIに補助させる取り組み>
画像だけから、何かおかしいよを見つけるAIは難しいかもしれません。
教師なし学習をやってみて、教師あり学習へ移行するパターンも有効かもしれません。(いちいち合否判定のセットを作成すると、とんでもない人件費になりますよね)
プロのAIエンジニアでも、一発でどの機械学習が適切か見抜くことはできないので、小さく試しながら解決に近づきます。
上記はほんの一部ですが、たくさん質問と分類をしてもらい、理解が進みました。(うたのんさんのクイズ正答率あがった)
05 同期のみなさんのまとめ記事
文字数だいぶかさみましたが、AIの種類の理解度が重要なポイントなので何度か読み返すことになると思います!
本日もお読みいただきありがとうございました。