ZENKEI AI ポッドキャスト、シーズン25は2022年1月26日に開催した ZOOMライブの模様です。
この日のテーマは「2022年は、ゆるく、インプット」です。
エピソード3は、メインの第二部、「2022年の画像分類」モデル編。新し目のモデルの紹介です。
当日の市來の発表資料
zenkei-ai-podcast-20220126-03.m4a
ビデオ見れる人はこちらからご覧ください。
(以下は、OpenAI の Whisper を使って文字起こししたものを修正したものです。)
で、えーっと。第2部に行こうかな。第2部に進みます。
で、タイトルね。ここに書いてあるように「2020……」あ、そう。一応ね、2022年の初っ端、っていうことで、何でもね、2022年のいろんなシチュエーション、っていうイメージがあるんですが、「画像分類」。何を今さら、っていうことですけども。AI、ディープラーニング界隈ではね。いやいや、でもそんなこともなくて、最近いろいろ面白い話がありました。
その話を「最近の話題から」のノリでやっていきたいんですけども。その前にね、ポッドキャストを細切れにしてですね、テーマごとに区切ってリリースしてるって話をしました。し、皆さんもご存知だと思いますが。それと合わせてビデオの方も、YouTubeビデオもそういうテーマごとに区切って、5分から15分、25分のビデオで投稿してます。それは一応ね、アーカイブとしては、というかプレイリストとしては「SELECTIONS」って、勝手に僕が名前つけると投げてるんですが。そうやってるビデオがもう100本以上になりますよね。ポッドキャストが100本過ぎてますからね……途中からビデオだから100は行ってないかな?
まあいいや。たくさんあるんですけども、その中で繰り返し……。「繰り返し」ったってね、ここに高々ね102ビュー、かわいいもんですけどね。「いいね」も3つぐらいしかついてないんですけども。それでも、僕がいろいろ編集してるビデオの中で一番リピートされてるビデオの一つが、この「Vision Transformer」、「最近の話題から」の「Vision Transformer」の回のビデオが閲覧されてる。たぶんGoogleって、「Vision Transformer」でGoogleって、見てる人なんだろうなと思うんですが。需要があるんですよ、画像分類は。
っていう背景がありの、今日の「2022年の画像分類」の話をしたいと思います。ちなみにここで紹介した Vision Transformer は、 PyTorch 実装がGitHubにあるやつを使って「やってみた」のレベルだったんですね。で、やってみたら、ビデオを見ていただければわかりますが、いまいち結果が出ないっていう感じで。「なんだ、ダメじゃん、Vision Transformer」みたいなことを言いつつ、でもそれは「僕の詰めが甘いかもしれないよ」っていうエクスキュースを乗せながらの話でまとまってて。それがみんなに閲覧されてるっていうのは、Vision Transformer さんには悪いな、っていう気がしてるのが一方であります。なので、今日改めてっていうかね、改めてって言っても緻密にやってるわけではないんですが、今日の発表でやり直し少ししてます。そしたら、ちょっと、この時言ってたほど悪くはないっていう話になります。それはいずれ下の方で話します。
っていう前振りでね。わかったと。これ2020年の11月に「最近の話題から」っつって、「とうとう画像分類の世界にも Transformer がやってきたよ」っていう話を紹介したんですが。それの初っ端が Vision Transformer だったわけですが。最近ですね、 ConvNext っていう論文がフェイスブック AI リサーチ…… FAIR だけど、彼らはいつ名前を変えるんですかね?あれね、メタにね。メタ AI リサーチに名前変えるのかな? MAIR にするのかな? FAIR はフェアだから FAIR にしてるとかないのかな?いや何を言ってるか分からないと思いますが。 MAIR って何?ってことに……まあいいや。ヤン・ルカンがツイートで、ちょっと炎上してたの?よく分からないですけど。そういう細かいところはどうでもいいですが。こういう ConvNext っていう論文が、アーキテクチャーが出ました。
趣旨は何かっていうと、今言ったように、Vision Transformer をきっかけに、ついに画像分類とか画像系の話にも、 Convolutional Network じゃなくて、Transformer がやっぱり威力があるんじゃないか?っていう雰囲気になってきたんですが、「おいおい待て」と。「画像にはやっぱり Convolution がいいんだよ」っていう、そういう「逆襲」って適当に書きましたが、そういうノリの論文です。分かりやすいように、 Qiita にも早速、分かりやすい、論文を読んだ記事が書いてあるので、見てください。
これがオリジナルの論文です。FAIR の。まだ FAIR って言ってたんだな、彼らは。論文のタイトルは「ConvNet for the 2020's」、「2020年代の ConvNet」ということで。皆さんご存知の通り、このグラフがすごい印象的な論文ですね。 ConvNext、ここに ViT っていうのは Vision Transformer で、 Transformer を画像に応用するっていうやつの、 Microsoft が出してる SWIN っていうのが一時期すごく話題になりました。ViT に対してグンと、もっと良くなったよ。「さすがやっぱ Transformer 強えな」って言ってたところで、今回 FAIR、 Facebookが、 Convolution Network をきちんと、2020年の知見をしっかり使えば、きちんと性能出て、 Transformer に負けてないよ、っていう話ですね。SWIN とか ViT とか出てきたときには、「ConvNet に勝った」っていう文脈で、ResNet が比較対象としてずっと使われてたよ、それはアンフェアだねっていう、「アン-FAIR」……どうでもいいね。ということで、そういう意味で「2020年代のコンブネット」っていう意味で、 ConvNext っていう呼び方を彼らはしてるんですね。
で、Facebook リサーチ自身のGitHubサイトでオフィシャルにコードが出てると。じゃあもうこれ「使えばいいやん」っていう話なんで、後で使ってみます。でね、このツイートの中で、これはこの Qiita さんの何とかさんの……著者の人は TeamN さんですね。このサイト見てください。僕はつまみ食いしてるだけですが。
Twitterにね、 ConvNext の論文の話が出たときに、面白い論文だけど、僕たちの、僕たちのなのかな、あの、モデルは、あの今紹介した図で言うと、ここにいるんだよ。「俺たちを忘れないで」っていう主張が何件かあったみたいですね。その一つが、ViT ね。ViT も2020年の出っ放のものがここに書かれてるんだが、その後、 augmentation とか regularization を入れたものを入れたら、っていう風に主張してるの。 augmentation を入れたら、緑の線ぐらい上がっちゃうじゃんっていうのを、じゃないとフェアじゃないよ、っていう風なコメントをしてる人がいた。
こっちの人は、EfficientNetっていうのは一時期 State of the Art ね、 ConvNet 系の世界を席巻しましたが、そいつのバージョン2っていうのが 2021年に出てるよって。それをプロットすると、この辺にいるんだよって。だから ConvNext だけがすげーわけじゃないよっていう。バージョン2っていう、僕もフォローできてなかったんですけども、そういう指摘があったと。そういうコメントがさっきの上の Qiita に「Twitter上でそういうのがありましたよ」っていう話がありました。なるほど、と。まだまだアクティブですねと。画像分類っていうか、画像処理にディープラーニングを使うっていうのは、まだアクティブな感じなんだねっていう話です。
っていうのは、一番直近のね……時代を遡ってます。最近2021年、この論文……あ、違う。2022年の01、1月の Facebook の、 arxiv に投稿されたプレプリですけども。 ConvNet はまだ…… 「Transformer VS ConvNet」っていうのはまだ決着ついてない、っていう話ね。ヤン・ルカン自身がツイートしてるのをチラ見しただけですけども、「じゃあ彼は ConvNet を信じてるのか?」っていうと、必ずしもそうじゃなくて。適材適所でやったほうがよくて。特に処理の、画像をまず受ける部分の前半戦は ConvNet の方が優れてるかもしれないけども、後半部分は Transformer みたいなものがいけてるかもしれないし、そういうハイブリッドみたいなのがいいんじゃないか、みたいに投稿してましたね。確かね……詳しく見てないですけども。なので、この辺が切磋琢磨して、より良いものになっていくっていうのが、今後の世の中なんだろうなと思います。
で、ここに出てる ViT は ZENKEI AI FORUM でも触れましたが、SWIN っていうのが話題になってるんで、どういうものか見ときたいなと思ってました。なので、いい機会なので、これもちょっと見ようと思います。SWIN っていうのは何かっていうと、 Vision Transformer の一つの進化系だと。これも Qiita に行けば解説してる……あぁ、これは SWIN の説明じゃないな。ごめんなさいね。これは EfficientNet の Ver.2 ですね、こっちの Ver.2 の話だな。だから、これ、場所が違います。ここでは SWIN の話を……あ、違うわ。SWIN の話は……論文は俺、まとめなかったな。これ後で原稿を修正しておきます。ここはタイトルが間違ってて、EfficientNet Ver.2 の話です。
Ver.2 の説明は Qiita に omiita さんが投稿してます。Ver.2 の論文は2021年の4月に出てるものです。これの赤い線を本当に能書き通り見ると……(いつも僕は疑い深いようなことを言って。じゃあ検証してるか?っていうときちんと検証してるところまでは時間かけてないんですが)……上がってますね、Ver.2 ね。この Ver.2 をきちんと見なきゃいけないと。その時の解析結果って、これは何を言っとんだ?これもまたコピペを僕、失敗してるな。これは EfficientNet の話です。
SWING っていうのは Vision Transformer の改良版って言っていいのかな。Microsoft が出してる、Vision 系の Transformer のモデル。これも Microsoft 自身がGitHubにモデルをアップロードしてるので、これ使っちゃえと。あとで五郎島の話で使います。使う話をします。世の中、画像分類、結構アクティブです。まだ枯れてないねっていう話です。2022年の今日を見てね。
で、これは個人的なアップグレードの話なんですけども、PyTorch もディープラーニングのフレームワークとして、僕たちずっとPyTorchを長い間使ってます。TensorFlow から、ていうかね、Keras からスイッチして、もう長いこと経ちますが、全然戻ってないですね。気が付いたら順調に進化してて、バージョンも 0.8 っていうのを長いことずっと使ってたのかな。気が付いたら 11 とかになってて。そうすると他のサプリメンタリーなライブラリー……言ってるのは Torch Visionの ことですが。
Torch Vision も合わせてバージョンどんどんアップデートして。Torch Vision っていうのは、もう PyTorch 側で提供されてる、実装が提供されてる学習済みのモデルっていうのが、もう増えてるんですね。バージョンが上がったところで。久しぶりに PyTorch を、自分の手元の開発環境の PyTorch を最新のものをアップデートして見に行ったら、なんかいっぱい増えてるよ。ここで Torch Vision のウェブサイトに行くとですね、バージョン、PyTorchの 0.11.0 出てますが。画像の分類モデル、 classification に、AlexNet っていうのは古き良き、一番最初ですね。VGG とか懐かしいですけどね。ResNet。この辺はあったんですけどもx。ResNextとかね。見たことないやつ……。この EfficientNet もここ、PyTorch が今提供してますが、これバージョン 1 ですけどね。
RegNet、これ見たことないじゃん、と思って。これちょっと今回、見てみました。なんだろう?とね。もうモデル実装されてるんで、リンクはあったんで。論文を見に行くと、論文は2020年の論文で、アーキテクチャをですね、いろんなバリエーションで考え直すっていう感じ……論文読んでません。もうね、PyTorch に実装があるんで、まず実践から入る、っていう手抜きなパターン。「これ、ダメだよ」っていうのは、今までのね、 AI FORUM の中でも自分で言っていながら、そうやってますが。今回も「やってみた」っていうことで、まず感触を調べてます。っていうことが、今のところ僕の中で、まだ触ってない、体験してない画像分類系の新し目のモデルっていうのが、そんなことがあるねっていうんで、これを一通り確認しなきゃいけない。し、世間的にもニーズがあるらしい。っていうことで、ちょっとやってみたっていうのが今日のお話です。ここまで一通りきました。