はじめに
今回は解説記事ではなく、コラム的な内容です
AIの精度を上げる難しさや、その要因となりうる事象について話せればと思います
今何をしているのか
現在の案件で私は、クレジットカードの不正検知AIのさらなる精度向上を実現するために、様々なPoCを行うといった業務をしています
今までの経歴的には、AIの専門学科卒業後、クラウドやドローンの案件など様々な案件に携わっており、業務でのAIの本格開発は初めてでした
AI開発を始めた当初は、精度向上について次のように考えていました
- 「良いロジックを考えれば、精度は上がる」
- 「モデルを変えれば改善する」
- 「データ量を増やせば精度は上がる」
という楽観的に考えていました
しかし実際の現場でPoCや精度改善に携わる中、
AIの精度改善は想像以上に泥臭い作業であり、思ったほど簡単ではない
という事をお話できればと思います
1.「このロジックを実装すれば精度が上がるはず」は全然的外れだった
PoCにおいて、色々なロジックを調査したり、論文などを見て有用そうなロジックを見つけると
- 「このロジック、かなり効きそう」
- 「この前処理なら絶対改善する」
- 「この特徴量を入れれば精度が上がるはず」
と思っていましたが、実際には全く効かない事のほうがほとんどでした。
むしろ、
- 精度が変わらない
- 微妙に悪化する
- 一部だけ改善して全体は悪化する
ということがほとんどを占めています
データ同士の関係性を特徴量化し、新たな特徴量を作れば精度は向上するはずだと考えます。
しかし、実際に実装して検証してみると、何も変わらないことも珍しくありません。
むしろ、精度が悪化するケースすらあります。
ロジックを実装するまでに、何日もかかることがあります
実際の現場では、
「良さそう」ではなく「検証して初めてわかる」
という考え方がとても重要になります
仮説→実装→検証→失敗→再度仮説立て
このサイクルを何回も繰り返すこととなります
2.使用できるデータ量に限界がある
AIの精度改善で必要なのは、「データ量を増やす」これ自体は間違っていないのですが
現場では 「そもそもデータ使えない問題」 が発生します
PoCの段階では様々な問題があります
例えば
- データ整備のコスト
- ラベル付けなどの工数
- データ集めの手間がかかる
などの理由から、データ数が限定されることが多いです
理想は数百~数千万のデータを使いたくても現実的にデータを数十万件まで絞ることも珍しくは無いです
更に、せっかく集めたデータも、前処理の段階で更に減ってしまい、結果作成した特徴量が効いたとしても
- 本当に効果があるのか、偶然なのか
ここの判断が難しくなります
3.マシンスペックの問題
ここで、データを大量に集めたとしても更に壁があります
それが、マシンスペック問題です
大量のデータを処理するためにはどうしても高スペックの環境が必要になります
もちろん現場にはクラウド環境などもあり、そちらでも進めることができますが、PoCはあくまで検証段階であるため、どうしてもスペックなどを絞られることが多いと思います
そうすると、せっかく集めたデータでも全部を使用することができず
- サンプリングをする
- 特徴量を大量に作り込めない
- 学習回数を減らす
などの妥協が必要になってきます
限られた資源で、精度向上を達成しなければならない
という難しい問題と直面します
(絶賛直面中)
4.ドメイン知識が無いと、有効な特徴量が作れない
そして、これが一番厄介です
AIは、使用される分野においての知識、いわゆる
ドメイン知識(業界知識) が必要になってきます
AIでは、モデルそのものよりも「何を特徴量として持たせるか」が重要になるケースがあります。
しかし、その判断は非常に難しいものです。
金融・医療・EC・不正検知・製造業など、業界ごとに 「本当に意味のある情報」 が全く異なるからです。
AIエンジニアとして、「この特徴量効きそう」 と思っても長く業界に携わっている方からしたら 「それ実運用だと意味ないです」 となることも多くあります
逆もしかりで現場担当者が当たり前に思っている情報が、AIでは全然役に立たなかったり、逆によく効く特徴量になったりもします
つまりAIを開発していく上で
AIの知識を持ちつつ、ターゲットとなる業界の知識を複合させていく必要がある
この条件を満たして初めて精度向上が見込めるようになります
顧客の声や、担当者とのコミュニケーションが必要と現場で強く感じるようになりました
最後に
AIでの精度向上では、
「モデルを工夫すれば精度は上がるし、足りなければ特徴量の追加などで補える」
と思っていましたが、現実では
- 仮説どおりに精度が上がらない
- 使えるデータに限界がある
- 計算資源にも限界がある
- ドメイン知識が求められる
などの壁が連続して現れます
ただその難しさの中で
少しでも精度向上の糸口を見つけられた時の価値は計り知れません
とも感じています
AIの精度改善は、実は地道な試行錯誤の繰り返しです
AIの開発や、現場で実践している人は、泥臭く色々試してみてください
株式会社ONE WEDGE
https://onewedge.co.jp/
_______
株式会社ONE WEDGEは、Webシステム開発・SES・AI/DX支援を行うIT企業です。
生成AIを活用した業務効率化や次世代システム開発にも注力しており、企業の課題解決だけでなく、エンジニア一人ひとりの成長にも本気で向き合っています。
また、技術は「一人で学ぶもの」ではなく、「仲間と成長するもの」だと考え、社内外でのコミュニティづくりにも力を入れています。
・ONE WEDGEがレバテック転職フェアに出展します!ご興味のある方はぜひご参加ください!
https://lp.levtech-direct.jp/lp/112/05/02?via=c_zkk_cmp_fair260726_
_______