はじめに
はじめまして!中村謙太(@c60evaporator)と申します。
以下のPodcastでもご紹介頂きましたが、このたびQiitaでの発信をきっかけに、『まるごと学べる 異常検知の実践知』というタイトルの書籍を出版させて頂きました
上記のPodcastを補足するような形で、今回書籍を書くことに至った背景や、今後の意気込みについてお話したいと思います!
書籍の内容について
今回刊行させていただいた書籍は、異常検知(anomaly detection)に関する技術書です。
テーマとなった技術である「異常検知の活用例」と、「この本が力を入れている部分」について、以下のようにまとめました
もう少し深く見ていきます
異常検知とは?
異常検知は、正常なものの中から異常なものを検知する技術です。これだけだと
「何の役に立つの?」
と思ってしまいますが、以下のような具体的な活用例を見ると、実際の世の中でどのように役立つかがイメージできるでしょう。
-
工場
- 正常な設備や製品の中から、異常が起きたものを検知する
-
セキュリティ
- 正常なアクセスやトラフィックの中から、攻撃の可能性が高い異常なものを検知する
-
医療
- 正常な画像や検査結果の中から、病変の可能性が高い異常なものを検知する
このように異常を検知することで、早期対処してロスを抑えることができるため、異常検知は守りの技術として役立つ場面が多いと言えます。
この本が目指すもの
このように多種多様な分野に応用できる異常検知ですが、既に多くのすぐれた書籍が刊行されています。私も業務で異常検知を用いることが多かったため、その学習においてこれらの書籍に大変お世話になりました。
一方で学習を進めながら、以下のような部分に触れている書籍が少ないと感じていました。
-
Pythonによる実装法
- 実装法の紹介はRが大半で、Pythonによる実装法を紹介した書籍は少ない
-
理論と実装を関連づけた解説
- 理論よりの書籍が多く、コードの中身と理論との関係について細かく解説した書籍は少ない
-
実経験に基づくTips
- 理論よりの書籍が多く、業務での活用時に陥りがちな落とし穴と対処法に対する言及は少ない
今回刊行させていただいた書籍は、まさにこの部分をカバーできるよう重点的に解説しています。
本書籍のコンセプトについては、出版元の技術評論社のサイトで以下のような記事も公開しています
なぜ本を書くことになったか
ここからは、Qiitaでの発信が本を書くきっかけとなった経緯や、そもそも発信をなぜ始めたかについて話します。
略歴
現在はメーカー(製造業)で機械学習モデルの開発やデータ分析をしています。
一般的な定義に当てはめると、いわゆる機械学習エンジニアに該当します。
大学時代の専攻は機械工学科で、バックグラウンドがハードウェアであることも私のキャリアの特徴だと思います。
発信を始めたきっかけ
Podcastでもお話しさせていただきましたが、パンデミックの時期に時間ができたため、Raspberry Pi
を使ってIoT家電を操作する電子工作を趣味で始め、同時に「日記感覚」でQiitaに投稿し始めたのがきっかけです。当時作ったものや各記事へのリンクは以下にまとめています。
人が発信を始めるきっかけは
「キャリアのため」
「マーケティング・副業収入のため」
「世の中に質の高いコンテンツを作るため」
と様々ですが、私の場合「日記感覚」というライトな理由でした。
発信にハマっていたきっかけ
日記感覚で発信していくうちに気づいたのが、Qiitaのような技術共有プラットフォームは
「自分の知識を整理するのにこれ以上なく便利」
ということです。
- インターネットがあればどこからでもアクセスできる
- Markdownで素早く書ける
- MermaidやTexで構成図や数式もきれいに描ける
- コードブロックの表示もきれい
という特性は、本業でも扱っていた統計や機械学習の知識を整理するのにぴったりで、勉強した内容を整理するためにかなりの分量の記事を書くようになりました。
そして記事を見返して活用するうちに、網羅的かつ体系的に整理されている方が再利用しやすいとと実感するようになり、そうした構成を意識して記事を投稿するようになりました。
また、転職の前後で比較的時間に余裕があったこともあり、腰を据えて執筆に取り組んだ結果、以下のように大きな反響を頂いた(いわゆるバズった)記事もいくつか生まれました。
「自分の知識の整理」に「反響を得ることの喜び」(俗な言い方をすると「バズりたい」)も加わり、これも発信を続けるモチベーションになっていきました。
書籍を書くことになった経緯
上記のような反響のあった記事がいくつか出たことをきっかけに、Qiitaと出版元の技術評論社の方からお声かけ頂きました。
元々漠然と「発信の集大成として本を書きたいな」と思っていたので、こんなにも早く機会が来たことにめちゃくちゃ嬉しく感じたことを覚えています。
なぜ異常検知をテーマにしたか
私は研究者ではないので、「これが確固たる専門」というものがあるわけではありませんでした。そんな中で異常検知を題材に選んだ理由として
- 実務経験があったこと
- 実務での学習を通じて「この書籍が目指すもの」で書いた技術情報の不足を感じたこと(Python実装、理論と実装を関連づけた解説、実経験Tips)
- 私が発信において得意分野だった、数学や統計の知識と実装知識のバランスが重要な分野であったこと
が挙げられます。
初の書籍で大変だったこと
新たなチャレンジでは最初の計画づくりが大きな壁になりますが、私の場合も「原案をどう固めるか、章構成をどう設計するか」に最も悩みました。原案が十分に固まらないまま進めてしまうと、後から大きな修正を繰り返すことになり、結果として内容が散漫になってしまう可能性があったと思います。
幸いにも、編集者さんから過去の事例などを丁寧に共有していただき、相談しながら進めることができたため、比較的スムーズに書籍全体の原案を固めることができました。
また、執筆を始めたちょうどその頃に、
- 異常検知分野で質の高いサーベイ論文が複数公開されたこと
- ChatGPTが登場し、調査や推敲の補助として活用できるようになったこと
も、書き進める上で大きな追い風になったと感じています。
終盤にはレビュワーの方々にも多くの助言をいただき、無事に出版までこぎつけることができました。編集者さんをはじめ、関わってくださった皆さまには感謝の気持ちでいっぱいです。
今後どうしていきたいか
出版という社会的意義の大きい経験したことで、もともとの発信のモチベーションであった
- 自身の知識を整理すること
- 反響を得られることの喜び
に加えて、
非Web系エンジニアによる個人発信のロールモデルになりたい
という気持ちが強くなりました。これには次のような背景があります。
背景1:企業の発信文化に関する考えの変化
Qiita FMでも触れましたが、Web系以外の日本のテクニカルな業界、例えば私が所属しているメーカーは、皆さんが想像される以上に発信文化が弱いです。
そこには合理的な理由もあり、
-
機密保持の観点
- 競合他社への情報流出
-
特許戦略の観点
- 発信が「公知の事実」となり特許が認められなくなる
-
採用・広報上のメリットが低い
- 求める人材と、発信に魅力を感じる層が異なる
などが典型的です。
一方で、最近はあらゆる業界でIT・AI等のソフトウェア技術の需要が高まっており、上記の状況も変わりつつあります。
- ソフトウェア技術は機密が陳腐化しやすい
- 進化が早い
- ソフトウェアは特許価値が低くなりがち
- 侵害立証が難しく回避もしやすい
-
発信に魅力を感じる層の人材需要増
- 若者やテック人材が該当
この変化から、企業の発信に対する反応も変わりつつあり、例えば富士通のようにテックブログを精力的に公開する大企業も増えています。
背景2:個人の発信に関する考えは?
このように企業の発信に対する考えは変わりつつありますが、以下のような個人の心理的ハードルが、発信文化の足かせになっていると感じます。
- 「なんか会社に後ろめたい」
- 実際は企業が発信に前向きになりつつある
- 「名前や顔を出して発信するのは炎上などのリスクばかり大きそう」
- 企業が発信を評価するようになり、実際はキャリア上のメリットが増えている
- 「自分なんて発信できる立場にない」
- 特別な実績や肩書きがないと発信してはいけないという先入観
特に最後の意識を、次の理由から私は変えていきたいです。
- ソフトウェア系の発信は実績や肩書きよりも丁寧なファクトチェックが大事
- 海外の論文や記事・ドキュメントをベースとした発信が多いため
-
Web系では気軽に発信する文化が根付いている
- 他業界も参考にできる面が多い
-
AIがゼロからの発信を手助けしてくれる
- スキル面での参入障壁が下がった
略歴を見れば分かるように、私は大学の専攻は機械工学で、もともとソフトウェアは門外漢です。
発信を始めたきっかけも「日記や備忘録代わり」くらいの軽い気持ちでしたし、試行錯誤しながら考えている過程を共有することにも価値があると考えています。
私が名前を出して技術発信をすることで、同じような立場の人にとって、
「このレベルでも発信を始めていいのか」
「ここから初めてこれだけのコンテンツを作れたのか」
と思えるロールモデルになれるよう 今後も丁寧な発信を心がけていくつもりです。
背景3:日本語の技術情報の不足
日本がここまで発展した理由として、母国語(日本語)で高度な教育を受けられることがよく挙げられます。日本以外の多くの国では、専門教育の母国語教材は充実しているとは言えません。
例えば大学時代に外国人の留学生が
「日本人は日本語で科学を勉強できて羨ましい。うちは英語をマスターしないと理工系の勉強は難しい」
と嘆いていたのを思い出します。
ITでもそれは例外ではなく、日本語の多数の良書や大学等での教育に加え、スーパー発信者と言えるようなWebページの管理者、例えば
「とほほのWWW入門」さん
Pythonでは「note.nkmk.me」さん
のようなコンテンツが、日本語教材の充実に大きく寄与してきたと感じています。
一方で、ソフトウェア技術は多様化が進んでおり、このような少数のスーパーマンに頼るだけでは、進化の早い技術をカバーしきれない時代が来つつあります。
今後も最先端の技術コンテンツを母国語で学習できる日本で居続けるために、たくさんの個人が良質な発信をできる文化は不可欠で、そのために私は多くの個人が
「発信を始めたい」
「発信を継続して良いコンテンツを作りたい」
と思えるようなロールモデルを目指していきたいと思います。
今後発信したい内容
異常検知本の続編と統計モデリング
異常検知本の続編として、ディープラーニング(deep learning:深層学習)を用いた異常検知手法を紹介する「深層学習編」を本年度中に刊行予定です。
深層学習編は以下のコンセプトで執筆しています
- 深層学習を用いた画像に対する異常検知手法の原理を学べる
- Python(PyTorch, Anomalib)を使った実装法についても、理論との関係を理解しながら学べる
- 異常検知を題材として、生成AIや基盤モデルの祖先とも言える教師なし深層学習モデルの原理について学べる
- 教師なしモデルから基盤モデルへの進化についても、わかりやすく学べる
気づいた方もいるかもしれませんが、この記事で使用している画像の多くは、OpenAIのDALL-Eというサービスで生成しています。DALL-Eが基盤としているCLIP(contrastive language-image pre-training)やDiffusion Modelという技術には、異常検知でも活用される教師なし深層学習モデルの知識が多く用いられています。AIがどうやって画像を生成するかという問いへの理解にも、この「深層学習編」を通じて応えられることを目指していきます。
またQiitaでは、異常検知と関連が深い、統計モデリングを網羅的に学べるコンテンツも発信していきます。
フィジカルAI関係
私の強みはソフトウェアやデータサイエンス・AIの知識に加え、大学の専攻も含めたハードウェアの知識・経験があることだと思います。
ハードウェアとAIを複合動作させるフィジカルAI(physical AI)は、まさにそのスキルを発揮できる分野なので、私の経験も交えながらAIとAI以外の部分に分けて以下のように記事を書いてきます
・AI部分
・AI以外の部分
おわりに
発信を続ける中で自分の価値観も変わり、さらに書籍出版という貴重な機会までいただけたことを思うと、発信を始めて本当に良かったと感じています。
この記事を読んで、少しでも「自分も発信してみようかな」と思ってくれる方がいれば嬉しいです。
また、書籍の内容にご興味を持っていただけた方は、ぜひ手に取っていただけるとありがたいです。



