これが価値と信頼か

怒涛の日々を送っており、1ヶ月ブログ書けず。。。

昨年に引き続き1〜3月は怒涛の忙しさです。

決算は4月なので4月にゆっくり振り返りをしつつ決算の締めに向けた作業や来期の戦略などをじっくり考えつつ、社員やその家族への感謝の気持ちを込めて社員旅行行ったり、オフィス移転したりしたいと思います。って考えると4月も3月までとは違った意味で謀殺されそうです。。。

 

さて、直近でKICONIA WORKSらしいなあ〜ということがあったので久しぶりに書きます。

機械学習のプロジェクトの落とし穴でもあるので参考になればなと思います。

 

あるお客様から画像分類のご依頼をいただき、学習データセットを収集いただき、

プロジェクトをスタートしました。

いただいたデータを使ってCNN(深層学習の手法)で学習させ、分類するAIモデルを作るというお仕事なわけですが、このデータセットに大きな落とし穴がありました。

それは普通誰も気づかない本来あるべきで無い特徴量が含まれていることです。

詳細は伏せますが、例えばX、Y、Zの3つに分類するタスクに対し、ある部分(特徴)を見ればその分類が超簡単にできてしまうものの、その「ある部分」というのは本来(本番環境 / 推論時)のデータには無いものであり、今回の検証用学習データにたまたま入っているだけなのです。ターゲット漏えいとかleakageとか呼ばれるやつです。

 

この時、こうしたAIのプロジェクトを進める場合に、AIの開発会社は3つのタイプに分かれると思いました。 

f:id:takuro-s:20200213090832p:plain

 

1. 気づかない

1つ目はそもそも、その特徴量に気づかずに学習させ、「精度99.9%です!すごいですね〜」と納品する会社。

これが一番多いと思います。というのも弊社も正直プロジェクトの過程で気づけたとは思うものの初期で気づけたのはたまたまな部分もあり、実は多くの会社が気づかずに学習させて精度良いです〜って報告する気がします。

もちろん、この場合PoCで上手くいったのに本番環境ではその特徴(ある部分)が無いわけですから、精度がガタ落ちとなり、大きな問題になってしまうでしょう。

ただ、AI開発会社からすれば、顧客からもらったデータが悪かったのだから仕方ないでしょという言い訳もできるでしょう。正直悪くは無い。。。ただ、気づけなかったセンスの無さは認めなきゃいけないかもしれません。

 

2. 気づいても隠す

2つ目は一番タチが悪いのですが、気づいたのにそれを顧客に伝えずにプロジェクトを進行して、「精度99.9%です!」と伝える会社。

顧客からもらったデータでちゃんと学習させたのだから問題ないっちゃ問題ないのです。

正直、隠せば変な思考や作業をしなくて良い精度が出るわけですから、楽にプロジェクトを成功させ儲かるので。。。

でもこれは誠実さに欠けるなと。。。中長期的に見たときには信頼を失ってしまうのではないかなと思います。

 

3. 気づいて伝えた上で対策を打つ

3つ目は今回我々のとった行動です。

気づいた上で、このままではまずいことを正直に伝えました。それだけでなく現段階で考えられる最大限の対策を考え、いくつかのアプローチでこの問題を避けて良い学習をさせることを考えました。

結果はやってみなければ分かりませんが、偽りの精度100%よりも誠実に出した精度を報告したいと思います。

正直プロジェクトの難易度はワンランク上がり、やることも増えましたが、こんな状況でもやってやりましょう!と言ってくれるのが、ウチのメンバー。ホント頼りになります。。。ありがとう。

 

この3を選択した、できたことがKICONIA WORKSらしいなと思ったわけです。

まず、この問題に気づけたこと。これは機械学習関連のプロジェクト数多くこなしてきた熟練者だからこそだと思うし、改めて能力の高さや知識の豊富さを感じます。これぞKICONIA WORKSの提供する価値の一つだなと。

次に、気づいたときにそれを顧客に正直に伝える誠実さ。これが顧客との信頼関係を構築する上で本当に大事だと思いました。そして対策を瞬時に考えられるところにも顧客価値を感じます。

 

毎週のように様々な業界の方からお問い合わせをいただけるようになり、有り難いです。この忙しさを言い訳にして真実から目を背けたり、雑な仕事をしたりしないように今後とも注意していきます!