はじめに
今回は解説記事ではなく、コラム的な内容です
AIの精度を上げる難しさや、その要因となりうる事象について話せればと思います
今なにをしているのか
現在の案件で僕は、クレジットカードの不正検知AIのさらなる精度向上を実現するために、様々なPoCを行うといった業務をしています
今までの経歴的には、AIの専門学科卒業後、クラウドやドローンの案件など様々な案件に携わっており、業務でのAIの本格開発は初めてでした
AI開発では精度向上のために
- 「良いロジックを考えれば、精度は上がる」
- 「モデルを変えれば改善する」
- 「データ量を増やせば精度は上がる」
という楽観的に考えている部分もありました
しかし実際の現場でPoCや精度改善に携わる中、
AIの精度改善は想像以上に泥臭い作業であり、思ったほど簡単ではない
という事をお話できればと思います
1.「このロジックを実装すれば精度が上がるはず」は全然的外れだった
PoCにおいて、色々なロジックを調査したり、論文などを見て有用そうなロジックを見つけると
- 「このロジック、かなり効きそう」
- 「この前処理なら絶対改善する」
- 「この特徴量を入れれば精度が上がるはず」
と思っていましたが、実際問題現実では全く効かない事のほうがほとんどでしたむしろ
- 精度が変わらない
- 微妙に悪化する
- 一部だけ改善して全体は悪化する
ということがほとんどを占めています
データ同士の関係性を特徴量化して、新たな特徴量を作れば精度は向上すると頭の中で考えて実際に実装・検証してみても何も変わらないor精度悪化ということも珍しくはありません
ロジックを実装するまでに、何日もかかることもあります
実際の現場では、
「良さそう」ではなく「検証して初めてわかる」
という考え方がとても重要になります
仮説→実装→検証→失敗→また仮説立て
このサイクルを何回も繰り返すこととなります
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を活用した業務効率化や次世代システム開発にも注力しており、企業の課題解決だけでなく、エンジニア一人ひとりの成長にも本気で向き合っています。
また、技術は「一人で学ぶもの」ではなく、「仲間と成長するもの」だと考え、社内外でのコミュニティづくりにも力を入れています。
_______