Open YutaroOgawa opened 2 years ago
本書 「つくりながら学ぶ! PyTorchによる発展ディープラーニング」 https://www.amazon.co.jp/dp/4839970254/
は、多くの読者の方々にご愛読いただき、そして多くのIssue投稿によって支えられ、今日まで至ります。
まずは感謝の意を申し上げたいです。読者の皆様、誠にありがとうございます。
以下に、本書の今後について、私が悩んでいる点を列挙いたします。
[1] 本書は2019年7月29日に発売され、もうすぐ発売から3年が経過します。 原稿執筆開始からですと、もうすぐ4年となります。 原稿執筆時点ではPyTorchはversion 0.4で、販売間近にversion 1.0がリリースされ、v1.0を本書のベースにしました
[2] とはいえ、最新のPyTorchのversionに対応していないのは微妙であり、読者の皆様からの温かいIssueで修正を提案いただき、それを増刷のタイミングにて書面にもできる限り反映するという対策をとってきました (増刷は改訂とは違うため、書面に大きな変更を加えることはできず、できる限りの範囲にて対応)
[3] AI分野の変化はとても早いです。 ライブラリのバージョンもですが、そもそも主流となるアルゴリズムも変化しています。
著者としてはTransformerとそれをベースとしたBERTが出た時点で、これが今後のベースとなり、 書籍としても一冊をまとめ上げる価値があると判断して、4年前の2018年から原稿執筆を開始しました。
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/abs/1810.04805
ですが、その4年前と現在ではディープラーニングを取り巻く環境もとても変化しています
[4] 今後の選択肢として、以下の3点を考えています
[4-1] ひとまず当面はこちらの選択肢となります。
書店に並んでいて絶版になっていない書籍とはいえ、 IT書籍という性質上、その書籍で扱っているライブラリの最新版に常に追いついている書籍は実現不可能です。
「本書執筆時点でのライブラリバージョンPyTorch v1.0環境で本書は進めて下さい」 としか案内しようがないところがあります(本意ではないですが)
[4-2] 現在の内容のままPyTorchのversion 1.11に合わせて改訂版を執筆する
ただし、この作戦は大きく2つのリスクを抱えています。
・1つ目は改訂版を書き終えたあと、PyTorchからversion 2がリリースされ、 TensorFlowの1.0と2.0ほどに変化が生じ、後方互換性がないリスクです。
これが発生すると、改訂版を執筆し直したのか意味がなくなります (現在の流れでは、こうした事態の発生確率は低いとは考えています)
・2つ目は、改訂版を執筆するにあたって、 書籍で取り上げるアルゴリズムは4年前に選定した、今のアルゴリズムのままで本当に良いのだろうか? と言う懸念です
例えば、物体検出の現在のSoTAなアルゴリズムは
https://paperswithcode.com/sota/object-detection-on-coco
を参考にすると、
DINO(Emerging Properties in Self-Supervised Vision Transformers):self-DIstillation with NO labels https://arxiv.org/abs/2104.14294
や、 Swin Transformer: Hierarchical Vision Transformer using Shifted Windows https://arxiv.org/abs/2103.14030
のような、Vision Transformerを活用するものです。
一方で、画像分類系ではViT(Vision Transformer)よりも、
MLP-Mixer: An all-MLP Architecture for Vision https://arxiv.org/abs/2105.01601
や
ConvMixer:Patches Are All You Need? https://arxiv.org/abs/2201.09792
のような、パッチ化を重視し、ViTを使用しないような手法も出てきています。
このように、現時点ではSOTAに近い手法があまり安定していないと、著者は感じています。
一度書籍を改訂執筆してしまうと、再び大きくは動きづらいという制約が生まれるため、 上記のようなリスクにどう対応するのか明確にする必要がありますが、難しいところです。
[4-3] 3つ目、最後の選択肢です。
上記の[4-2]を踏まえてですが、もう少し業界の動向を見てから対応を考えます。
この4年間で、BERTにはじまったTransformer革命が画像系をはじめ、時系列などいろいろな分野に波及しました。 一方でTrasformerって本当に絶対か?という疑問も上がっています。
ConvlutionとReLUからはじまったディープラーニングv1.0??が、
Transformerと自己教師あり学習によるディープラーニングv2.0?? に落ち着くのか、
別の方向に落ち着くのかを見定め、 「SOTAアルゴリズムはどんどん変わるけど、ベースはがらりとは変わらないね」状態に、 ある程度近づいた段階で、 掲載するアルゴリズム自体を選定し直し、 改訂版ではなく、別書籍として出版する作戦です
著者としては、当面、[4-1]の姿勢、そして[4-3]を念頭に置いています。
日本にとって、そしてこれからディープラーニングを学ぶ学生や社会人の方、その他多くの方にとって、 考えうる最善の策と貢献ができるように、今後も精進していく所存です。
以上、長文失礼しました。
小川様
誠に僭越ながらコメント差し上げます。
私は1年ほど前にこの本を手に取り、コード含めて隅々まで読み込みましたが、本当に読んで良かったと思える書籍でした。
深層学習の応用という観点から、"仕組みをブラックボックス化して取り敢えず動かしてみる"というスタンスの類書も多い中、仕組みまで詳しく解説頂いている本書は非常に貴重と思います。また、類書で解説されていないアルゴリズムも多く含まれており、視野が広がったように感じています。
私の拙い質問にも早急にご回答いただける小川様のご対応も、頭が下がる思いでした。
素人故に今後の技術的な動向は正直なところ全く分かりませんので、本書の方向性等に言及するのは私の能力を超えますが、自力で最新論文を読み解くのが厳しい私のような者からすると、新しい技術を含んだ上で、この本が改訂されるのであればそれはとても嬉しいことです。
書籍という形態をとる以上、日進月歩の技術に合わせて改訂するのは難しいというのはその通りと思います。ただ、やはりインターネット上の情報だけでは系統立った整理や学習が難しく、幹になる部分の学習は書籍が向いていると私は考えていますし、そう考える人は少なくないと思います。そういった意味で、本書の需要がなくなることは無いと思います。
偉そうなコメントで申し訳ありません。 今後のご活躍を心からお祈りします。
@kawase621 さま
コメントをいただき、誠にありがとうございます。 ここにコメントを重ねるのは勇気が要ったと思いますが、上記コメントを読んで、とても嬉しく感じました。 本当にありがとうございます。
今後の方向性を考えるうえでも、とても重要な示唆もいただけ、非常に助かります。 皆様からこうしたご意見をいただけ、その上で次の形態、方法を考案できれば、とても嬉しいです。 お気持ちに応えられるように、精いっぱい頑張ってまいります!
誠にありがとうございます!
2022年3月、PyTorchはversion 1.11をリリースし、torchtextをはじめとした周辺エコシステムもアップデートされました。
https://github.com/YutaroOgawa/pytorch_advanced/issues/148#issuecomment-1067697470
にて、提起いただいたように、本書はこのままでは最新バージョンでは完全な動作が保証されない状況です。
本書の今後について、著者としてどうするべきか悩んでいる点を以下に列挙いたします。