『「Teachable Machine」による機械学習』という本を単著で書きました(2022年7月に工学社さんから発売)
2022年7月25日に工学社さんから発売された『「Teachable Machine」による機械学習』という本を書きました。
出版者さんから発売される本で、単著のものは今回が人生初になります。
(出版者さんから発売された本という括りでは、これより前の 2022年3月22日に技術評論社さんから発売されたM5Stack の本を共著で書いたのが人生初でした)
以下では、「Teachable Machine についての説明や、Teachable Machine に関する自分のエピソード、書籍を出した流れの中での裏話」などを少し記載できればと思います。
「Teachable Machine」について
書籍のメインの題材になっている「Teachable Machine」は、Googleさんが提供しているブラウザ上で機械学習が扱える仕組みです。
Teachable Machine の Webサイトでは、画像または音を入力として機械学習モデルを作成することができます。その際、プログラムを書いたりすることなく、GUI操作だけで学習や機械学習モデルの動作確認などを行うことができます。
また、Teachable Machine のサイト上で作成した機械学習モデルはエクスポートすることができ、各種言語で開発されたアプリ内で利用することもできます。
書籍の内容の大半は、Teachable Machine 自体の使い方の話になりますが、機械学習モデルをエクスポートしてプログラムで扱う話も少し書いています(ページ数の都合で、非常に簡単なサンプルプログラムになっていたりしますが)。
Teachable Machine で扱えるデータの内容の種類は「画像・音声・ポーズ」の 3つがあるのですが、その全てについて以下を使ったサンプルを書籍内で記載しています。
- JavaScript を使ったプログラム(描画ライブラリの p5.js と組み合わせるもの)
- ビジュアルプログラミングの環境である Stretch3(オープンソースの Scratch に、機械学習を扱える独自の拡張などを追加した環境)を使ったもの
小中学生向けのコンテストで使われている事例
Teachable Machine は手軽に機械学習を扱うことができ、Googleさんが 2020年・2021年と小中学生向けに開催している「キッズ AI プログラミングコンテスト」でも、Teachable Machine を活用された作品が出されていたりします。
自分が Teachable Machine を使い始めた時の話
自分自身の話をすると、今の前のバージョンである v1 の Teachable Machine のころに情報を見かけて知っていたものの、試してみたのは今のバージョンの Teachable Machine になってからでした。
最初に試したのは、「画像プロジェクト」と呼ばれる画像分類を行う機械学習モデルを作成できるものでした。PC内蔵の Webカメラを使って簡単に機械学習モデルを作成でき、学習させた画像の枚数はそれほど多くなかったのにも関わらず良い精度で、とても驚いた記憶があります。
Teachable Machine を使った作品を Maker Faire に出展
その後、音声プロジェクト(マイクから入力される音を利用するもの)を活用して作品を作り、その作品を 2020年に開催された「Tsukuba Mini Maker Faire 2020」や「Maker Faire Tokyo 2020」で展示しました。
以下は、その試作中の様子の動画です。toio というロボットトイを組み合わせて、音に反応して動きを変える仕組みという内容のものを作りました。
(技術的な部分を少しだけ補足すると、プログラムは PC上のブラウザで動かしていて、そのプログラムで Teachable Machine を使った音の認識の処理と、Web Bluetooth API という仕組みを使ったロボットトイの無線での操作を行っています)
2度の展示を行った中で、子どもから大人まで幅広い年齢層の方に楽しんでいただけました(小さい子でも体験しやすいような工夫を、あれこれ盛り込んだかいがありました)。
「音に合わせて動く、音の種類によって動きを変える」という内容は、ふらりと立ち寄った中でも内容が伝わりやすく短時間で試せるのもあり、たくさんの方に体験いただけて嬉しかったです。
#TMMF2020 の1日目の振り返り(自分の作品を体験してもらったときの様子を見返したり、今日の展示のやり方を考えたり)をしてたら、来場していただいた方の様子を見て元気をもらえた!
— you (@youtoy) 2020年2月15日
今日も M-01-08 の
toio™で作ってみた!友の会のブースです!
https://t.co/rn6NKOSJnN#toio #toiotomo pic.twitter.com/XUqmmMyaKY
Maker Faire Tokyo 2020 では、事前準備時と会場での音のノイズの違いが大きく、音をうまく認識できない状況になったりました。しかし、ブラウザ上でサクッと使えるという Teachable Machine の特性を活かし、本番の会場内で再度機械学習モデルを作成して事なきを得ました。
青いベルの音と緑のベルの音を機械学習で判別。地味に難しいことやってる#MFTokyo2020 #toio pic.twitter.com/fpqogGMZ5w
— ロボ先輩 (@3rd_factory_ro) 2020年10月4日
Teachable Machine の本を書くことになった経緯
今回の本を出させてもらった工学社さんが出版されている月刊誌「月刊I/O」で、過去に Teachable Machine を題材にした記事を書かせていただいたことがありました。
具体的には、2020年に 1回、Node-RED をトピックにしたリレー記事を担当したのと、その翌年に 4回連続の個人連載という形で「Teachable Machine」の記事を書いたものがありました。
その部分の裏話をすると、工学社さん内で Teachable Machine に関する書籍出版の企画が出て、その執筆に関する話で声をかけていただいたのは、実は 2020年のリレー記事を書いてしばらくたったくらいのタイミングでした。
連載記事を書いてみてから再度判断という流れに
書籍を出す話をいただけたのは大変嬉しかったものの、その当時は本一冊分の分量を単独で書いた経験がなかったので、「Teachable Machine に関する本一冊分の内容を用意できるか」という点と、「普段の仕事やプライベートのコミュニティ活動などがある中で、どれくらいの時間で事前準備を含めた書籍執筆の作業ができそうか」という点で不安がありました。
それをお伝えして相談のやりとりをした結果、とてもありがたいことに「まずは月刊誌で 4回から 5回の Teachable Machine の連載記事を書いてみて、可否を再度判断する」という進め方を提案をいただき、月刊連載の企画案(4回、または5回分の内容案)を出す流れとなりました。
そして、2021年の 4回の連載が終わった後にあらためて判断するタイミングが来て、その際のやりとりで「2022年の5月末までで、一冊分の原稿案を出す」というスケジュールで進めることにしました。
書籍の話につながたリレー記事の話
上で書いていたように、今回の書籍を出すきっかけとなった一番の大きなきっかけは、2020年に書いた Node-RED のリレー記事でした。
そのリレー記事を書く話をいただいた流れについて、以下のブログ記事にも少し書いているのですが、プライベートのコミュニティ活動でよく一緒に活動している Tanaka Seigo さん(@1ft_seabass さん)からのお声がけでした。
今回のような経験をできるきっかけをもらえて、ありがたかったです。