課題解決型AI人材育成 AI Questに参加している話

終わってからにしようと思ったが、あまりにも長いので半分終わったところで一旦書く。

どういうものか

経産省が課題解決型AI人材を育成したいからやってる事業
狙いとか詳しくは下へ。

まず感想まとめ

わりとけちょんけちょんに書いている
もちろん学びになって役立ったという人もいるだろう。自分にとっても学びにならなかったわけではない。
一番言いたいのはKaggleなど機械学習を試す場は増えつつある中で、経産省、BCGなどが実施して、結果的に「きっかけづくり」程度にしかならなかったように感じることである。
またがんばってその結果というよりは、人も費用もかけたくない感を感じ「正しく失敗する」とか言いながら本当に正しく失敗できたのか?と思った感じである(まだ半分だけども)

まあ金がかかってないなら「きっかけづくり」でもいいんじゃん、とも思うけど、関わっているところが国含めて大きいところなのでどうなんだろうは思う。

初回の実験とはいえ、ちょっと雑すぎやしないか?

参加経緯

機械学習を学びたいよねと思いながら、本で少し学習した程度。
そんなとき会社で募集していたから(企業枠での参加・業務外)
めんどくさいそうだが、ノリと勢い

ちなみに事前に言われていたのは、今回1週間に6時間ほどで4ヶ月間。多いかと言われると、ものすごく多いわけでもないが、そこそこは多い。

参加初回

今回の事業そのものより、BCGあろう会社が大丈夫か?というのがはじめの印象。
〇〇階受付とあるから当然そこに向かうが、直接その階に向かうのがないので1階をウロウロする人多数
実際は5階に向かい、「そこで受付をして」そこから〇〇階に上がる仕様。

新しいオフィスだし中の人も知らなかった可能性はある。
しかし次に困ったのがその受付。現地についてもなんの案内もなく、まず今回のAI Questの受付であることを言っていない。
そして2本列があるので当然両方受付の列だと思っていたが、たどり着いた先にあるのは、片方が研修の受付、もう一つは懇親会の受付。
気づかずいきなり懇親会の列に並んでしまった人もいた。自分は気づかなかったが正しい方に並んでいた。
イベント開催は初めてか?

エレベータで着いた先に何も案内がない。どこに向かえばいいんだ。部屋に入っても何も案内がない(人はいる)。開始が遅延。
人が足りないにしても、初回としてももうちょっとマシな状態でできたんじゃないかとは。

ちなみに懇親会会場も案内が悪くて場所がわからずウロウロする人多数。
懇親会もどれが酒でソフトドリンクがどうかとかの案内もない(その日は飲まないつもりだった)。
懇親会名札の番号の机に行くだったらしいが、案内が聞こえない。

と、まあ運営側に不安しか感じない初回でした。

参加者についてはレベルの差が大きいように感じた。
もう業務でバリバリやってますもいれば、言われた最低限のレベル感(自分)のような人も。(いやむしろ、最低限でもなく、機械学習やりたいけど全く知らんという人もいた感じではあった)
できる人を成長させつつ、低いレベルの人をレベルを上げられるか。
特に前者が難しいと思うがどうなるか。

あと参加者の所属はソフトバンクの内定者がやたら多かったね。

やること全体像

  1. 準備っぽいのとよくわからない個人課題
  2. チーム課題1(個人でも可)
  3. チーム課題2(同上、課題1,2分けずに課題1つのチームもあり)

現時点では2まで終わっている感じ。

準備っぽいのとよくわからない個人課題

教材・課題

もともと企業(SIGNATE)が持ってる教材なんですかね。
まあ他にも教えていたりするので、まあ流用するよね。

課題1つ目

一つは統計等の簡単な話
統計は初心者ではあるが、基礎の基礎なので知ってる話。

もう一つは機械学習の簡単な話
基本の話と前処理の話とかだった気がする。
具体的な前処理の話はない

そこからある課題について決定木で分類をして、より良いパラメータをGridSearchCVで探すというのを学習する。
一応特徴量をどうするかとかの話題はあるが、実践とかはない。パラメータチューニング等で値を良くすると課題クリアというやつ。
基礎が学べるという点で、初心者にはありがたい、バリバリやってる人にはつまらない感じ。

説明動画を聞くのがかったるい。

課題2つ目

ビジネス課題と機械学習の課題。
ビジネス課題の解の一つで機械学習の課題をこなすという流れだが、ビジネス課題と機械学習課題が同時に出されて機械学習の課題の内容がビジネス課題の解の一つになっている。
そして資料的にはこの答え以外の答えは出しにくいようになっている。
「説明」を鍛えるということなのか???

しかし1つ目の課題(分類)は機械学習がわかっている人はやりたくないレベルでゆっくりと進行した割に、今回の回帰に関しては学習は皆無で課題だけ出される。
どうしてほしいんだこれは。
・パラメータチューニング
・回帰のモデルを変える
・特徴量を色々する
などやることは浮かびはするけど、いや大してやったことねぇし、これは後で教えてくれるのか、
自分で学べってことなのかなんなんだ?

これに関しては提供元が ほぼ 同じ課題をネットで展開しているため、ネット上にほぼ同じ課題と思しき大量の資料がある。

https://qiita.com/chusan/items/d7b210243f3b646375ba
https://www.techceed-inc.com/engineer_blog/4954/
https://lab.m-field.co.jp/2019/02/18/machine-learning-firsttry/
https://ds-blog.tbtech.co.jp/entry/2019/08/09/%E3%81%8A%E5%BC%81%E5%BD%93%E3%81%AE%E9%9C%80%E8%A6%81%E4%BA%88%E6%B8%AC%EF%BC%92 https://mfieldeslab.github.io/MS_DataMining/#%E4%BA%88%E6%B8%AC%E5%80%A4%E3%81%A8%E5%AE%9F%E9%9A%9B%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%AF%94%E8%BC%83
https://qiita.com/takapy0210/items/834558aa182e3cf6a8b4

見て学べばいいの?それは求められているの?
「今回の課題の目的は何だったんですか?」というのをキレ気味にアンケートに答えた

PBL

上の記事に「課題を解くことが学習につながる。最後に先生生徒の関係がない、生徒同士での自治を実現していること。学んでいる環境を自分たちでつくっているんです」
というのでPBLの形を重点に置きすぎているよう感じた。

  • レベル差が大きく、また誰か知らないひとだらけの大きな場でコミュニティは成立しにくい
  • というかオフラインで合わない人達の前でいきなりやりとりはしんどい
  • 課題とSlackという場を与えているだけ、「生徒同士が教え合える」場作りの努力をしていない
  • 社会人・大学生なのである程度考えて動けるはずだが「目的」が共有されずに課題だけ与えられるため、限られた時間の中で何をすべきかが定めにくく課題をとりあえずこなすだけになる

そのため第1回の課題では、大してPBLから得られることはなかった。
むしろネット上の資料のほうが多岐にわたり(と言っても似通っているが)学びが多いように感じた

これからは少人数で課題を解く形である。
そこではさすがにある程度はどうしたらよいかという話が回ることになると思う(と思ってやる前に書いたもの)

チーム課題1

チームは最大3人、個人を希望すれば個人でもよい。
全期間を通して1課題のチームと、半分に分けて2つの課題を行うチームに分かれる
また半分に分けるチームのお題は前半3 種 、後半3種で希望は聞かれつつ、事務局で振り分けられる。
他のお題の内容は多分情報提供元のあれこれで知ることが出来ない

自分は3人チーム、期間を半分に分ける方である。
2つのお題は同じチームで行う。

チーム課題は「課題の中でビジネスからゴールへ近づき、そこからモデルを実装していくもの」と「モデルを実装しながらビジネス面でのゴールに近づいていく」2つをおこなうらしい
そのうち課題1は前者
どういうお題かは出さない方がいい?URLは教えちゃいけないとは言われているけどデータ提供企業としては名をつられているから概要はいいのかな
そっとこんな感じというKaggleを上げるよ
https://www.kaggle.com/c/nyc-taxi-trip-duration/

1つ目の課題のビジネス面の課題1

課題の中でもちょいちょいと小さな課題を1週間で解くようなことをやるわけですが、1週間ちょっとで行う課題も金曜締め切りなのに3連休過ぎるまで誰も何も言わないこのわれらのチームのやる気のなさ(自分含め)

金曜提出で土曜に講義的なもの。
ランダムで発表させられる。このクオリティで当たってしまい発表させられるとはな。

一応出したものはBCG側で採点される。いくつか項目を分けて項目ごと3点満点。
なかなか1点つけないな。成長させるには1点も3点もガンガンつけるべきだと思うぞ。
うちはほぼ全項目2点だぞ(協調感を出しつつ、自分の意見を押し通して3日で仕上げたなりの点数)

ちなみに後から考えると、資料なりに論理的に筋を立てることはできるが、個人的にはこのビジネスの考え方はちょっとイケてない気がしている(一応最終課題は役員に提案するというところも鑑みて)

1つ目の課題のビジネス面の課題2

内容は1回目のと似ているが別の視点という感じ。
(BtoBtoC&BtoCの会社だが、BtoBtoCの真ん中のBの視点に立つ感じ)

なんで静岡でうっかり酒を入れてしまった後にやってるんですかね?
資料が限定的なのでロジカルに伝える練習感でしかない気がする。

「ビジネス課題」という名前ではあるが、本来は無数にあるデータからどれに手を付けますか?って話だと思う。
今回の課題はそれはそれ、これはこれで、与えられたデータだけで結果は出せるが、とりあえず「答えありき」の感じがある
実際には論理的には穴がどうしても出る。

今回から他のチームの提出物も覗けるようになった
これはいいですね。他の高い点のチームが存在することだけわかっても意味がなくて、どんなバリエーションがあって高評価なのはどういうものかがわかる。
まあ相変わらず2点が多い。
今回のは特に資料が答えありきのこじつけ感が強かったですね。

全然できていないチーム、ある程度できていても皆ができているわけではないチームがあると思う
そういう点で、まずは講義をするレベル(座学)で考え方が足りていない人がそこそこいるのではなかろうか。

1つめの課題の実装課題

3人チームだが1人消滅しかける
いやいやここからやりたい(学びたい)ことなんじゃないの?
しかしチームであることで学びが増えたかと言うと微妙である。まあチームメンバーが全員コミュニケーションを積極的にとらないのも一つの理由だろうけど。

これも提出後、集合して一部のチームが発表。
集合するところで得られることはビジネス課題と比較してまだ多い方である
しかしチーム発表でだれも参加してないチームが2チーム続く
研修全体として取り組む姿勢がバラバラすぎるように感じる(やる気がある、課題はやるが参加しない、課題も参加しない、時間がないなど)

多分課題をある程度はちゃんとまじめにやらないと集合したところで得られることは少ない
そこそこ話すこともテクニカルになるので、事前に知識を入れないとよくわからないことも増えているように感じる。
ここまで機械学習の座学がほとんどない中で、得た知識を実践に紐付ける前に得た知識がなさすぎてこの場で得られるものが小さくなるようなことはあるように感じる
ギリギリ並行して読んでいる本の知識とかで自分は追いつけているとは思っているが。

最後の提出前にKaggleで似たような問題があることに気づく(上述)
発表よりこっちのほうが役立ちそうやん。(もちろん口頭で質問できるのは今回のメリットだが)

チームに関するアンケート

このタイミングで、
チームでやっていく上で
 ・連絡取れない人
 ・積極的ではない人
はいないか? というアンケートが来る。
なるほど、うちのチームに限らず消滅しかかっている人はいるような気配である。

最終回で聞いたけど3人中2人消えて他のチームと混ざってやってる人もいるってよ…

どこかに「きっかけづくり」と書いたけど、きっかけにならない人もそこそこいるのがこのプログラムである。

最終発表

役員会で報告する提案資料らしい

「プレゼンの作り方をBCGの人やその他の人に聞く会」みたいな感じでしたね。
一応今回のプログラムの学べることに「プレゼン」はあったからよいけど、AIとは関係ないな。まあAIの学習ばかり鍛えるのでなくビジネスと絡めて伝えることが大事ということかもしれんが。

ははーん、金かける気ないな

経産省からどれだけお金をもらっているかは知らないが、あまりを金をかけずにやりたい気持ちが非常に伝わってくる。
上にも書いた教材の流用とかはいいけど、色々残念だった。

そもそも関わっている人が少なそうなのに、関わっているスタッフもこの事業に対して時間をかけている気配がない。
こちらも課題をこなすだけ。スタッフも課題を出して提出されたものをこねているだけ。

残念システム

BCGのアンケートフォームは、送りっぱなしなので自分が書いたものがなにかはわからない。
そのくせ、他のところでは色々なID登録を求められる。登録したのにアンケートには使えないのである。
複数にまたいでいるせいで「表示の名前を全部共通にしろ」という、アナログ感のある方法で人を見分けている。

その他

  • 教材の流用どころか最序盤以降は教材がない
  • 案内等社員の少なさ
  • 運営の雑さ(個人メールアドレス流出)

チーム

大学の仲間で出ているチームとかもあるようなので
・個人チーム
・オフラインでも会うチーム
・オンラインのみで会うチーム
・オンラインでの疎なやりとりだけのチーム
があるように感じる
ここまで来て感じるのは「オフラインでも会うチーム」をまず成功させて次に繋げないといかんのでは?と思う。

え?後半の部は集合研修もオンラインでやるんですか!?

42来たる

PBLの参考にしているという42の本家が日本に来てしまったな
https://42tokyo.jp/

今回の研修はオンラインで教え合うというのは結構難しいというのを感じる。
相当やべぇ課題を出すとやらざるを得ないからやるんだけどね(ただし離脱者も増える)
そもそも今回のは1つめの課題はまだ会ったこともない人と「この人とグループです」と言われて始まる
42はオンラインではなくキャンパスにおいていい感じに必要に応じて組んで教え合う感じじゃないのかと。
中途半端に持ち込んでもだめなんじゃないか。

メインは他に仕事が、学校がある人がオンラインで42的に学ぶのはだいぶ難しいだろう。
オフラインでやるとこれまた何かを犠牲にする(仕事なのかプライベートなのか)必要はあり、やれる人が多いかはわからないのだが。

まとめ

大雑把に言って
「講師が教える形だと教えられる人数に限界があ」るということを言い訳に
課題を渡してあとは学んでくれ、Slackやフォーラムという場だけ置いておいてあとはよしなにしてくれという傲慢さ、及びリソース(人・お金)をかけない怠慢さを感じる。
「自ら学ぶ姿勢」「自己組織化」というものに対して、自己責任の強い仕組みである(仕組みがないとも言える)

「座学だけでは実践的な内容を学ぶのは難しい」のは事実だろうが、
今の時代、動画学習とかによる座学は一般的であり、座学の講師のところに限界は無いはずであり、そういう座学を飛ばして実践的なところで学んでくれというのは、怠慢で傲慢ではなかろうか。
結局はこれまで学んできていなかった人の中でやる気が保てた人のきっかけづくりからの+αにはなったと思う(もともとある程度わかっている人のことはわからない)。
ただ人が足りてなくて人を増やしたい、経産省がやる、という点から言うと、ちょっと効果弱いんじゃないというふうに感じる。

教えない以上学ぶ方は何がわからないかわからないと思う。
座学があってここがわからないなら教えようがある。
いきなり課題を渡されても困るであろう。

座学まで提供しろとは言わない。今でこそ本や動画、いろいろなところから学べる。既に行われたコンペならスコアの良い出し方なども示されている。
だが何のガイドもなしに課題だけ出すのであれば、本当にそれは他から得るよりも成長できるのだろうか?

何が言いたいかと言うと並行して本を読もうとしていてそこで吸収したことが実践的に納得できる要素はあったが、課題だけに真剣に向き合っても多分それは得られなかった
じゃあ何を得るべきかというガイドがあったわけでもない
そこでチームが機能したかと言うと機能していない。少なくともうちのチームは (学内仲間のチームとかだとまた違うのかもしれないが、それがうまくいくなら大学教育の中でやれば良い(文科省と経産省で色々あるかもだが))

序盤の「」の言葉は以下より引用
https://www.itmedia.co.jp/news/articles/1911/29/news026_2.html

この辺はフィードバックする機会があったらそのまま書いてやろうと思ったのだが、前半終了時点ではなかった。

AI Questをやるのと別に読んだもの

AI Questの座学はPythonではじめる機械学習の2章をかじったくらいしかないので、 求められた要件の機械学習のチュートリアルを終えたくらいのレベル感だと置いてけぼり感がある。
AI Questの課題においては、これらの本から使えそうな知識を選んで使う必要があるくらいの内容(本当に雑にやるなら別だが)。

Pythonではじめる機械学習 ――scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

2年前くらいに2章まで写経した状態だった
教師データありの分類・回帰のかんたんなことはできるようになる
3章以降も良い情報ありそうだけど、読み進めるのが大変なので進めていない

機械学習のための「前処理」入門

画像データとか扱ったことのないものや日本語の処理(自然言語処理)なども含まれている点は良いが、やったことならば知っていることも割と多いくらいのまさに「入門」という感じでした。
その領域をやる時に調べると結構出てくる基本的な情報が載っている感じで、ネットで探すよりはまとまっているので新しい領域に入る前に読むには良いと感じた。

機械学習のための特徴量エンジニアリング ―その原理とPythonによる実践

上の前処理入門では足りてないなーってことが結構書いてある。言語処理系は英語の話なので、ちょっと物足りなさも。
そしてオライリーにありがちな非常に読みづらい文章。ざっと読んで必要な時に読み直すとかが良さそう。
知識が皆無マンとしては何書いてあるのかよくわからないところも結構ある。