機械学習の研修にディベートを盛り込んだら相性が良さそうだった件

# はじめに

~~タイトルを適当に考えたらラノベみたいになってしまった。~~

ビジネス上での機械学習プロジェクトでは、異なる立場の人物が関わるため、それぞれの視点に立って考え、プロジェクトを進行していくことが重要となります。

プロジェクトにかかわる人間は、問題分析などのコンピテンシーを高めることと機械学習プロジェクトに起こりうる課題を知っておくことが必要です。

それらを身に付けるため、機械学習の研修で、ディベート形式の演習をしてみたら、良い感じだったので紹介します。

色々と粗い部分もあると思うので、是非ご意見いただけると嬉しいです。

# ディベートに機械学習を導入した理由

## ディベートとは

深く触れる必要もないとは思いますが、ディベートについて[Wikipedia](https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%99%E3%83%BC%E3%83%88)より引用します。

> ディベート（debate）とは、ある公的な主題について異なる立場に分かれ議論することをいう（広義のディベート）。討論（会）とも呼ばれている。

>様々な教育目的のために行われる教育ディベート（educational debate）が、単に「ディベート」と呼ばれることもある（狭義のディベート）。特に、教育ディベート関係者の間では、「ディベート」といえば通常は教育ディベートを指す。

ここでのディベートは、後者の教育ディベートのことを指します

## 機械学習研修について

弊社では、データサイエンティストの養成のため、様々な内容の研修を行っており、その一環で機械学習についても教えています。

目的を「機械学習を使って業務を遂行できるようになること」とし、そのために必要な機械学習全般の基礎的な知識とPythonを用いた実践を行っていました。

## ディベートを行うに至った背景

機械学習の研修では、「機械学習を使う」ところに重点を置いており、そのために必要な知識や実践を中心に行っていました。

しかし、実際にビジネスで「機械学習を使う」ためには、単にアルゴリズムを知っていたり、プログラミングで実装が出来ればいいだけではありません。

例えば、機械学習プロジェクトを受注するにあたっては、提案者、開発者(データサイエンティスト、MLエンジニア、データアーキテクトなど)、クライアント(担当者、その上司)、エンドユーザなどなど、様々な登場人物が存在します。
受注するには、ステークホルダーの意見を汲んだ提案ができなければ勿論いけませんし、プロジェクトを進めるためには、様々な関係者の立場を考えながら協力しつつ、時には説得していくことが必要となります。

まとめると、以下のように問題を俯瞰・分析した上で、働きかける力が必要となります。
（勿論、プロジェクトを進行するには、これ以外のスキルも必要となる）

- 自分の立場だけでなく、異なる立場の人の考えを慮る
- 様々な情報を収集し、整理する
- 自分の意見を論理的に伝える

これらのコンピテンシーを高めるために、機械学習研修の演習としてディベートを行いました。

機械学習をテーマとして扱うことで、機械学習プロジェクトあるあるについても理解を深めてもらうことも狙っています。

# 機械学習ディベートについて

## 研修でのディベートの進め方

研修では、一般的なディベートをベースに、以下の簡易形式で行いました

- 準備時間(3時間)

- 肯定側の立論(5分)
- 肯定側に対する質疑(3分)
- 否定側の立論(5分)
- 否定側に対する質疑(3分)
- 感想戦

ディベートを行うこと自体が目的ではないので、一般的な「立論→反駁→主張」の流れは行わず、立論と質疑だけを行いました。また、勝敗判定も行いませんでした。


ただし、1度の立論の中で、想定される反駁とそれに対応する反論を行い、最終的な主張をまとめあげてもらうことを想定しています。
この流れは[セルフディベート](https://www.nhk.or.jp/kokokoza/tv/kokuhyou/archive/resume007.html)のアイデアを参考にしています。

簡略した全体の流れが終わったら、感想戦を行います。これはフリートーク形式で、各陣営が調べたり考えたりした内容を聞く場です。双方の意見を整理した上で、どのように伝えるべきだったのかを話し合いました。
議論内容については、リアルライムに議事録へ反映して、可視化しながら進めました。


## テーマ案

企業が機械学習を活用しているモデルケースを基に、以下のようなテーマを考えました。

- 機械学習を使った自動運転の是非
- 新卒採用への機械学習導入の是非
- 人事評価への機械学習導入の是非
- 機械学習を使った信用スコアの是非

ポイントとしては、ある程度社会的に実装が進んでいるものであることです。そうすると一般的な事例も調べやすく、能動学習としての効果も高くなり、ディベートが有益なものになるはずです。

ただし、想定されるデメリットがMLOpsなどの観点に偏ってしまうと、肯定派が有利になってしまうので、社会的影響が大きいものが良いと思います。（この観点から、ECサイトにおけるレコメンデーションなどは不適切）

没案として、[ガタカ](https://cinemore.jp/jp/erudition/792/article_796_p1.html)という映画を意識して、「ゲノム情報を用いた統計解析に基づく進路の決定」というテーマも思いつきましたが、セルフで意見を考えてみたら、社会的な影響が大きすぎて機械学習以外の話が中心になりそうだったのでおすすめしません。笑

また、ここに挙げているようなテーマは、おおよその手段は定まりますが、議論の対象となる主語(Who)を固める必要性があります。これは、議論が噛み合わないことを防ぎ、建設的な内容とするためです。
例えば、自動運転については、自動車メーカーなのかタクシー会社なのかで論点が少し変わるかと思います。

# やってみての所感

## 反省点

やってみた結果、自分の中で次のような反省点があるかなと思いました。

- 自分自身がディベートの経験が少なく、演習自体に手探り感が出てしまった点
    - ~~実施の一週間前に思いつき、準備をしたという経緯があります。。。~~
    - 準備時間が少なかったこともあり、全体の設計に甘い部分がありそうです

- ディベート自体の説明が不足していた点
    - 小論文を書くような感覚で立論を考えてください！と丸投げしました
        - ディベート有識者的にはどうなんでしょう？
    - チームごとに立論の仕方が大分異なっていたので、フォーマットを指定するくらいはした方が良かったかもしれません

- （特に感想戦で）自分の進行役としてのファシリテート力に欠けていた点
    - ディベートに慣れている前提であれば、一般的な立論→反駁→主張の流れで進めるのが、進行役としては楽だとは思います
    - しかし、反駁をしっかり行うには、それ相応の根拠を揃える準備が必要と思うので、演習にはなかなか難しいか？

- ディベートに倣い対立的なチーム分けをしたが、各関係人物ごとにまとめてまとめてもらった方が良かったかもしれない点
    - 結局のところ相手の立場を慮ることが大事なので・・・
    - 例えば、人事評価についてなら、人事部の責任者、運用者、経営層、評価対象の社員、その企業への採用候補者などが挙げられる
    - この方向性は、レポート形式の課題としてアレンジしやすい気がする

## 研修生からの感想

大まかに以下のような感想を受けました。
（内容に肯定的なバイアスはあるとは思いますが）

- ディベート自体を初めてやったため新鮮で楽しかった
- 時間内で意見をまとめることが大変で、思ったより時間が足らなかった
- 対立陣営を説得するために、様々な視点で考えることがことが難しかった
- 反論内容を予想して準備することが業務でも役に立つと感じた
- 機械学習を導入することの様々な影響を知ることができ勉強になった

# 最後に

元々、機械学習研修自体は、知識を身に付ける講義と実践を覚えるプログラミングの課題を中心に進めていました。（これらについてはいずれ記事としてまとめ紹介します。。。）

そこに思いつきで行ったディベートだったので、結構粗い部分も多いかな～と思うのですが、評判はそこそこ良かったので嬉しかったです。

後付けにはなりますが、色々整理した結果、知識や実践経験のスキルをベースがあった後だと、ディベートの効果高そうで、研修のコンテンツとして相性がよさそうだという印象です。

次に研修を行うことがあれば、もう少し内容を刷新する必要がありますが、この他にもディベート以外のアクティブラーニング系の手法も取り込めると良さそうかなと思っています。