「仕事ではじめる機械学習」1章 個人的まとめ
はじめに
最近読み始めた「仕事ではじめる機械学習」を読んで印象に残った箇所について抜書きしつつ、個人的な所感も書いていきたいと思います。 (書いてみたら長くなってしまったので、章ごとに記事を分けてあります)
1章 機械学習プロジェクトのはじめ方
1.2.1 ビジネス課題を機械学習の課題に定式化する
機械学習の問題設定としては、(中略)プロジェクトの目的と解き方をセットで考えます。
この内容はDXが流行り言葉になった頃から指摘されている点です。 技術そのものは手段であり、「技術をどう使うか」という点を重要視していきたいです。 ※このとき、技術力が重要ではないということを述べたいわけではありません。 ある程度の技術力がないと、そもそもその使い方の議論ができるわけがないので。
もしかすると、トップダウンでこういった要求(アクションがすぐ起こせない曖昧なものや目的がわからないもの)が降ってくるかもしれませんが、現場で手を動かす人はもっとブレイクダウンをしなければいけません。
現場での作業者はこの部分も重要ですね。 解くべき課題は何なのかを明らかにしたうえで、その課題の解像度を高くしていく必要があります。
1.2.2 類似の課題を、論文を中心にサーベイする
この節では、機械学習の応用事例を見つけるために論文を探すことを推奨しています。
既存の論文を探すことを勧める理由としては以下の通りです。
既存の論文を探すことで、どういった問題がどう定式化されているのか、またどういったアルゴリズムを使うことが多いのか、どこが難しいところで未解決の領域なのかということがまとまっているからです。
この点は論文を読んでいくときのポイントにできそうです。 最近は生成AIが台頭しており、そこまで頭を使わなくても論文が読める環境になっています。 そんな中で上記のポイントを元に論文を読むことで、能動的に論文読みを行えるのではないでしょうか。 能動的な論文の読み方については、後日記事にしてまとめたいと思っています。
1.2.3 機械学習をしなくて良い方法を考える
今のAIブームへ提唱を鳴らすかの章タイトルです。
しかし、機械学習は確率的な処理があったり、トレンドの変化による入力データの傾向の変化などのようなシステム構築上の難しさがあります。
そのため、機械学習を導入する場合は以下の条件を満たしているかを確認するべきだと述べられています。
①大量のデータに対して、高速に安定して判断を求める必要がある ②予測結果には、一定の間違いが含まれることが許容できる
①についてはまさに機械学習を導入するメリットと言えるでしょう。
高精度にも関わらず、技術導入が断念された事例
②については、以下の記事を思い出しました。
https://www.itmedia.co.jp/news/articles/2312/15/news158.html
こちらはゴミ出し案内をChatGPTに任せた結果、94.1%の精度を出したが導入を断念したという事例です。
94.1%と聞くと一見高確率に感じますが、約70%の確率で20回に1回は間違えた回答を出力します。(計算間違えていたらすみません)
ごみ出し案内は正確性が特に求められる。 AIが間違った案内をしてしまうとその案内に基づいて行動した市民や収集業者などに迷惑が掛かる。
上記のような記述もある以上、機械学習を導入するうえで、どの程度の精度をシステムに求めるかは事前に検討しておく必要があるということですね。
1.2.4 システム設計を考える
機械学習を含めたシステム設計を行いましょう、という旨の章です。
実際にシステム構築を勧める前に、目標性能と撤退ラインを決めよう、と述べられています。
その理由として、以下のように述べられています。
学習データの収集や正解データの作成などといった作業をしてしまうと、一定のドメイン知識が付いてくるため、根拠のない自信で改善ができると思いこんでしまいます。
上記の内容は1章の内容で私が一番面白いと感じた部分でした。
ある程度の知識が付いてしまうと、もっと精度を向上させられるのではないか、特徴量を工夫して作成する余地が残っているのではないか、といった完璧主義的な思考に陥ってしまいそうです。
こういった試行錯誤も時には重要であることは理解しているつもりですが、特徴量変換で10%以上の精度向上を達成できるケースは稀なのではないでしょうか。
だからこそ、機械学習で何を達成したいのか、どの程度の精度を目標とするのかをプロジェクト当初に設定しておくのがキモとなるということです。
論文の読み方まとめ
こんにちは. 私は機械学習を利用した研究を行っている,修士1年生の者です.
日々論文を読む習慣を付けたいがために,論文の読み方に関して解説してくださっているサイト等を 本ブログにまとめてみました.
参考文献などが増え次第,アップデートしていきたいと思います.
論文の読み方
なんのために論文を読むのか
- 研究初期:自分の研究テーマを決めるため(survey)
- やりたいこと・興味があることを具体的な研究テーマとして練り上げる
- 先行研究の流れを理解する
- できそうなことがあれば,研究計画も作れる
- 速読・精読が求められる
- 最新の研究動向を知るため
- 広く浅く,中長期の研究計画を立てる材料に使う
- 自身の研究に応用できるアイデアが他分野に存在する可能性もある
- 速読が求められる
- 論文執筆次に先行研究と比較するため
- 研究内容の差分を明確にするために必要
- 精読が求められる
精読と速読の使い分け
精読
- 目的
- 自分の研究テーマを深堀りするため
- 論文の詳しい理解,検討のため
- 良い論文のやりかたを盗める
- 自分の研究テーマを深堀りするため
- 方法
- どういう発想で行われているかを読み解く
- 論文紹介,再現実装
速読
- 目的
- 分野の大まかなトピックス,トレンドの把握
- 研究テーマの策定
- 分野の大まかなトピックス,トレンドの把握
- ※ 博士課程は年間500本くらいは速読してほしいらしい
- 修士だと年間100~200本
- 方法
- タイトル・アブストを読む
- (結論・実験結果・手法の)図表,数式を読む
- (イントロ・関連研究を読む)
- 精通していない分野であれば,ここも行う
論文の探し方
- Google Scholar
- キーワードから広く検索して,芋づる式に論文を探せる
- Arxiv
- 最新の研究動向を追えるが,玉石混交
- 論文誌,国際学会や国内学会の Proceedings
- 論文の質が高いのが多い
- もちろん質が低いものもある
- 論文読み会や論文まとめサイト,ブログなどの日本語資料
よく知らない分野をサーベイするとき
サーベイの方法
- キー論文(読んだら知見が得られそうな論文)を見つける
- 精通している分野の場合
- Google Scholar で検索
- 「引用元」から芋づる式に最新の論文も探せる
- 精通していない分野の場合
- トップの国際会議の論文タイトルに目を通す
- 精通している分野の場合
検索キーワードの考え方の一例
- 自身の思いつきや一般的に表すような英単語を 5 つ考える
- 具体的だが漠然としていない単語
- どんな論文でも引っかかりそうなキーワードはダメ
- 絶対に外せないキーワードを選ぶ
- 似たような記述を行っている論文で必ずと言っていいほど使われる単語は?
- 外せないキーワードを軸に,検索キーワードの組み合わせを考える
