Llama-2が登場!8bit+LoRAでRLHFファインチューニングを試す方法はこちら

データ分析・分類問題において分類精度が高いだけで良いのか?AIに分類根拠を説明させることはできる?WEBGPT・LaMDAを活用できないか考えてみた

今回は機械学習やAIに少しでも関わりある身として、機械学習との関わり方などについて考えていきたいと思います。

目次

はじめに

皆さんはどのような理由で機械学習を用いますか。将棋やオセロのAIを作りたいと思ったから?なにかしら分類をして作業を効率化するため?データを分析して問題を解決するため?様々な理由があると思いますが、今回はデータ分析の上での機械学習と分類問題における機械学習について考えていきます。

データ分析における機械学習

データ分析を行う時、皆さんはなにから始めるでしょうか?とりあえずデータ間の相関係数を調べてみたり、データの特徴をプロットしてみたりするでしょうか?もちろんこのようにしても良いと思います。ですが個人的には、まずはデータを眺めてみることをお勧めします。理由としては次の3つがあると考えています。

  • データ全体のイメージを掴むことができて、以降の分析をスムーズに行える
  • データを見ればどのような分析を行えば良いか考えることができるようになる
  • データを眺めた時の印象と分析した結果のギャップを感じることがありより良い分析ができる

なぜこのような理由があると考えたのか一つずつ説明していきます。

データ全体のイメージを掴むことができて、以降の分析をスムーズに行える

データ分析に慣れている方だとデータの概要を知っただけでどんな分析をすれば結論を導けるかわかるかもしれませんが、私はそのような能力はないのでまずはデータを眺めることから始めます。そうすることで、データ全体の特徴を掴むことができて、どんな分析をすればいいのかぼんやりと理解できるようになります。

データを見ればどのような分析を行えば良いか考えることができるようになる

データ分析を行う場合は、まずデータを眺めるということを続けているとデータを見れば、どのように扱えば良いのか、どのような分析を行えば良いのかを自分で考えられるようになります。また、手当たり次第に分析を行うのではなく、しっかりと目的をもって分析を行えるようになると考えています。

データを眺めた時の印象と分析した結果のギャップを感じることがありより良い分析ができる

データを眺めていると、この要素とこの要素は関係がありそうだということや全体的にこの要素が大きな役割を果たしているなど分かってくることがあります。そこで、それらを調べるために分析を行うとデータを眺めた時の印象と分析結果が違う場合があります。このような場合に分析結果が違うのではないか、データを眺めた時の印象が間違っていたのではないかといったように間違いに気づくきっかけになります。そして、適した分析方法を用いて分析ができるようになっていきます。

分類問題における機械学習

機械学習を用いて分類問題に取り組んでいると、どうしても精度をより高いものへ目指してしまいがちです。もちろん、高精度の分類器を作るというのも一つの目標としてあるのは確かです。しかし、実務で用いるとなると実装にハードルがあったり、そもそもとてつもなく高い精度を求めていなかったりすることもあります。

このような問題において違う視点を加えるとすれば、なぜそのような分類になったのかAIに説明させるというものが挙げられます。このような考え方は、これまでも恐らくあったと思います。そこで私は、AIに説明させるという目標に対してどのようなアプローチ方法があるのかを考えました。

WEBGPT・LaMDAの仕組みを活用

最近の言語モデルの傾向として、外部検索機能を利用してより正しくより人間らしい回答をするようになっています。その言語モデルの代表的なものとしてWEBGPTとLaMDAが挙げられます。この二つについては、論文を読んだ感想を書いているので良ければ読んでみてください。論文も読んでみることをお勧めします。

あわせて読みたい
【WEBGPT】人間のようにウェブから回答を探してくるGPT-3のファインチューニングモデル!GPT-3をファイ... WEBGPTはテキストベースのWebブラウザーを使って、自由形式の長文の質問により正確に答えられるようにGPT-3をファインチューニングしたモデルです。GPT-3は2020年7月にOpenAIが発表した高性能な事前学習モデルになります。このモデルは、1750億ものパラメータを持ち様々なタスクをこなします。詳しくはGPT-3で検索してみてください。
あわせて読みたい
【LaMDA】最大1370億のパラメータを持ち1.56兆語のデータで事前学習された対話に特化した自然言語モデル... LaMDAは、テキストコーパスの次のトークンを予測するために事前に学習された言語モデルです。また、対話データのみで学習させた従来の対話モデルとは異なり、公開対話データと他の公開Web文書から作成したデータセットでLaMDAを事前学習させているので、LaMDAはファインチューニング前の一般的な言語モデルとして使用することもできます。特徴としては、アザラシになりきって会話ができたり、エベレスト山になりきって会話ができたりします。

これらの言語モデルは、返答と一緒に根拠も示してくれます。LaMDAでは、独自のツールセットを作成して計算や翻訳を行い、その結果を根拠として示しています。

LaMDAにおける根拠の部分を分類問題における説明に置き換えれば良いのではないかと考えています。例えば、インプットを「2019年から2020年のデータを使って~の分類をして」とすれば、ツールでデータの取得から分類までを行い、後は、あるデータがどれに分類されるのかを聞くだけで分類となぜその分類になるのかを出力してくれるようなものを想像しています。学習データや学習コストなどでかなり苦労しそうなので個人では到底実現しそうではないですが、結構いい感じのはできそうな気がします。one-shotやfew-shotで分類もある程度できるのでいろいろできたら面白そうです。WEBGPTやLaMDAは主言語が英語なので、日本語版のWEBGPT・LaMDAが作成されることを願っていますが、様々な理由でなかなか難しいでしょう。

まとめ

  • データ分析を行う前にデータを眺めてみよう
  • 分類問題は精度も大事だけどなぜその分類なるのか説明できることも大事!

最後に

今回は機械学習について私が思っていることを書いてみました。ですので、個人的な意見も多々ありプロの方から見るとそんなことはないと思われることもあると思います。その場合は教えていただければ幸いです。

ここまで読んでいただきありがとうございました。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次