澁谷直樹

AI情報を「わかりやすく、具体的に」。AIに興味のあるエンジニアなどを念頭に、人工知能…

澁谷直樹

AI情報を「わかりやすく、具体的に」。AIに興味のあるエンジニアなどを念頭に、人工知能、機械学習、ディープラーニング、量子コンピーティング、プログラミングなどの情報発信を目指しています。

メンバーシップに加入する

メンバーシップに参加すると、すべての記事とマガジンが読み放題になります。

  • キカベン・読み放題

    ¥1,000 / 月
    初月無料

マガジン

  • 論文を読んで学ぶ

    論文を読みながら学ぶスタイルの記事を書きます。

  • 巨大言語モデル(LLMs)の衝撃

    巨大言語モデル(LLMs)関連の記事を集めました。

  • 古典機械学習を学ぶ

    線形回帰、ロジスティック回帰、正則化、決定木、サポートベクトルマシン、クラスタリング、次元削減などの機械学習の仕組みを解説していく予定です。

  • 画像分類 AI

    画像分類はディープラーニングでいち早く成功した分野になります。画像分類のAIを理解することは他の分野のAIを理解する土台となります。

  • トランスフォーマーを理解する

    2017年に、Googleの研究者であるAshish Vaswaniらのチームが発表したトランスフォーマー (Transformer)のアーキテクチャは、近年におけるディープラーニングの進展に大きく貢献しました。GPT3やBERTなどの巨大な言語モデル(LLMs, Large Language Models)の土台にもなっています。 特に自己アテンションと呼ばれる仕組みが重要です。どのようなシーケンス(順番に並んでいるもの)でも応用が効くため、最近では言語モデルだけでなく、画像処理や画像生成の分野にも広く応用されています。とは言っても、もともとトランスフォーマーは機械翻訳のモデルとして登場したので、その文脈で話を進めます。その方が歴史を辿りやすいのが理由です。

最近の記事

GPT1を読む①要約

今回からは、OpenAIが2018年に発表した論文「Improving Language Understanding by Generative Pre-Training」を読んでいきます。これは、GPTの最初のバージョンの論文です。 著者の中に、Sam Altmanを解任劇の主要人物であるIlya Sutskeverの名もあります。ちなみに、彼は AlexNet の論文の著者の一人でもあります。 なお、トランスフォーマーに関する知識を必要とするので、こちらも参考にしてく

    • scikit-learn機械学習⑪決定木(Decision Tree)

      前回は、ナイーブ・ベイズを実装しました。今回は、決定木(Decision Tree)を解説します。 決定木は、データセットを分割し、木構造を作ります。下図は、アイリス(Iris)のデータセットを使用して訓練された決定木モデルの可視化です。scikit-learnで生成することが出来ます。 詳細は記事の中で解説しますが、この決定木モデルは、花の特徴(花弁とがく片の長さと幅)に基づいて、アイリスの3種類(Setosa、Versicolor、Virginica)に分類しています

      • 分類AIの進化史㉑MLP-Mixer

        前回は、CLIPを解説しました。今回は、2021年にGoogleが発表した畳み込みもアテンションも使わないMLP-Mixerを紹介します。 2012年、ImageNetコンペティションでAlexNetが登場して以来、「画像処理といえば畳み込みニューラルネットワーク(CNN)」というのが一般的な考え方でした。畳み込みは、画像から特徴を抽出する強力な方法として広く認識されています。CNNはその後も発展し続けています。 一方、言語処理の分野では、2017年に登場した「トランスフ

        • トランスフォーマーの論文を読む⑩自己

          前回は、位置エンコーディングについて解説しました。今回は、自己アテンションにフォーカスしながら論文を読み進めていきます。 まず、アテンションを使う3つの理由について考察します。さらに、ネットワーク内でどのように情報が流れるかについて、アテンション、回帰、畳み込みに関する計算量を使って比較します。 また、アテンションを使うことで得られる解釈性についても触れます。 なお、今回はこの論文を読むシリーズの最終回です。

        GPT1を読む①要約

        マガジン

        • 論文を読んで学ぶ
          12本
        • 巨大言語モデル(LLMs)の衝撃
          32本
        • 古典機械学習を学ぶ
          13本
        • 画像分類 AI
          31本
        • トランスフォーマーを理解する
          22本
        • 量子機械学習
          4本

        メンバーシップ

        • GPT1を読む①要約

        • scikit-learn機械学習⑪決定木(Decision Tree)

        • 分類AIの進化史㉑MLP-Mixer

        • トランスフォーマーの論文を読む⑩自己

        • GPT1を読む①要約

        • scikit-learn機械学習⑪決定木(Decision Tree)

        • 分類AIの進化史㉑MLP-Mixer

        • トランスフォーマーの論文を読む⑩自己

        メンバー特典記事

          GPT1を読む①要約

          「キカベン・読み放題」に参加すると最後まで読めます

          今回からは、OpenAIが2018年に発表した論文「Improving Language Understanding by Generative Pre-Training」を読んでいきます。これは、GPTの最初のバージョンの論文です。 著者の中に、Sam Altmanを解任劇の主要人物であるIlya Sutskeverの名もあります。ちなみに、彼は AlexNet の論文の著者の一人でもあります。 なお、トランスフォーマーに関する知識を必要とするので、こちらも参考にしてく

          GPT1を読む①要約

          scikit-learn機械学習⑪決定木(Decision Tree)

          「キカベン・読み放題」に参加すると最後まで読めます

          前回は、ナイーブ・ベイズを実装しました。今回は、決定木(Decision Tree)を解説します。 決定木は、データセットを分割し、木構造を作ります。下図は、アイリス(Iris)のデータセットを使用して訓練された決定木モデルの可視化です。scikit-learnで生成することが出来ます。 詳細は記事の中で解説しますが、この決定木モデルは、花の特徴(花弁とがく片の長さと幅)に基づいて、アイリスの3種類(Setosa、Versicolor、Virginica)に分類しています

          scikit-learn機械学習⑪決定木(Decision Tree)

          分類AIの進化史㉑MLP-Mixer

          「キカベン・読み放題」に参加すると最後まで読めます

          前回は、CLIPを解説しました。今回は、2021年にGoogleが発表した畳み込みもアテンションも使わないMLP-Mixerを紹介します。 2012年、ImageNetコンペティションでAlexNetが登場して以来、「画像処理といえば畳み込みニューラルネットワーク(CNN)」というのが一般的な考え方でした。畳み込みは、画像から特徴を抽出する強力な方法として広く認識されています。CNNはその後も発展し続けています。 一方、言語処理の分野では、2017年に登場した「トランスフ

          分類AIの進化史㉑MLP-Mixer

          トランスフォーマーの論文を読む⑩自己

          「キカベン・読み放題」に参加すると最後まで読めます

          前回は、位置エンコーディングについて解説しました。今回は、自己アテンションにフォーカスしながら論文を読み進めていきます。 まず、アテンションを使う3つの理由について考察します。さらに、ネットワーク内でどのように情報が流れるかについて、アテンション、回帰、畳み込みに関する計算量を使って比較します。 また、アテンションを使うことで得られる解釈性についても触れます。 なお、今回はこの論文を読むシリーズの最終回です。

          トランスフォーマーの論文を読む⑩自己

          scikit-learn機械学習⑩ナイーブ・ベイズ実践編

          「キカベン・読み放題」に参加すると最後まで読めます

          前回は、ナイーブ・ベイズの理論的な側面を解説しました。今回は、この理論を実際のコードに落とし込んで、具体的なデータ分析を行います。 データセットとしては、scikit-learn.datasets からアイリス(iris、アヤメ)を使用します。このデータセットに含まれる花の特徴から花の種類を予測するタスクは、統計的手法を用いるナイーブ・ベイズを試すのにピッタリです。 まずは、探索的なデータ分析を行い、学習とテストのためにデータに前処理を施します。そして、訓練を行った後に評

          scikit-learn機械学習⑩ナイーブ・ベイズ実践編

          分類AIの進化史⑳CLIP

          「キカベン・読み放題」に参加すると最後まで読めます

          前回は、Swin Transformerを紹介しました。今回は、2021年にOpenAIが発表した論文Learning Transferable Visual Models From Natural Language Supervisionに登場するCLIPを解説します。 このタイトルを日本語に意訳すると「転移可能な画像分類モデルを自然言語で教師あり学習」といったところでしょうか。転移可能な画像分類モデルとは、特徴量の抽出に優れ転移学習などに応用できる画像分類モデルを意味し

          分類AIの進化史⑳CLIP

        記事

          scikit-learn機械学習⑩ナイーブ・ベイズ実践編

          前回は、ナイーブ・ベイズの理論的な側面を解説しました。今回は、この理論を実際のコードに落とし込んで、具体的なデータ分析を行います。 データセットとしては、scikit-learn.datasets からアイリス(iris、アヤメ)を使用します。このデータセットに含まれる花の特徴から花の種類を予測するタスクは、統計的手法を用いるナイーブ・ベイズを試すのにピッタリです。 まずは、探索的なデータ分析を行い、学習とテストのためにデータに前処理を施します。そして、訓練を行った後に評

          scikit-learn機械学習⑩ナイーブ・ベイズ実践編

          分類AIの進化史⑳CLIP

          前回は、Swin Transformerを紹介しました。今回は、2021年にOpenAIが発表した論文Learning Transferable Visual Models From Natural Language Supervisionに登場するCLIPを解説します。 このタイトルを日本語に意訳すると「転移可能な画像分類モデルを自然言語で教師あり学習」といったところでしょうか。転移可能な画像分類モデルとは、特徴量の抽出に優れ転移学習などに応用できる画像分類モデルを意味し

          分類AIの進化史⑳CLIP

          トランスフォーマーの論文を読む⑨位置

          前回は、埋め込みについて解説しました。今回は、位置エンコーディングにフォーカスしながら論文を読み進めていきます。 位置エンコーディングは、前回解説した埋め込みの直後に行われる処理です。 ここでいう位置とは、入力シーケンスの要素(トークン)間の順序情報を意味します。トランスフォーマーモデルでは位置エンコーディングを通じて明示的に位置情報というデータをモデルに提供する必要があります。 しかし、その理由は何でしょうか。 また、位置エンコーディングはどのようにして行われるのか

          トランスフォーマーの論文を読む⑨位置

          scikit-learn機械学習⑨ナイーブ・ベイズ

          前回は、グリッド・サーチと交差検証を紹介しました。今回は、ナイーブ・ベイズ(Naive Bayes)の解説をします。単純ベイズとも呼ばれるモデルです。 割と直感的に理解しやすいアルゴリズムですが、ベイズ定理という確率論に基づいた分類器です。そこには、「ナイーブ」な仮定が含まれています。ところで、何が「ナイーブ」で、それが「ナイーブ」だとどのような効用があるのでしょうか。 この記事では、この辺を詳しく解説します。

          scikit-learn機械学習⑨ナイーブ・ベイズ

          分類AIの進化史⑲Swin Transformer

          前回は、ビジョン・トランスフォーマー(ViT、VisionTransformer)を解説しました。今回は、2021年に、Microsoftが発表した新しいビジョン・トランスフォーマーであるSwin Transformerを紹介します。 論文のタイトルは、「Swin Transformer: Hierarchical Vision Transformer using Shifted Windows」です。 Swin Transformerは異なる大きさのパッチを用いて画像処

          分類AIの進化史⑲Swin Transformer

          トランスフォーマーの論文を読む⑧埋込

          前回に引き続き、論文を読み進めていきます。今回は、埋め込みにフォーカスします。 埋め込みに関しては、エンコーダ・ブロックやデコーダ・ブロックの外側の話になります。下図の上部の「線形層」、「ソフトマックス」と書かれている部分や、下部の「入力文章の埋め込み」、「出力文章の埋め込み」と書かれている部分です。 では、論文のセクション3.4「Embeddings and Softmax」(埋め込みとソフトマックス)を読んでいきましょう。

          トランスフォーマーの論文を読む⑧埋込

          scikit-learn機械学習⑧グリッド・サーチと交差検証

          前回は、ロジスティック回帰を使ってL1・L2正則化を実装しました。今回は、ロジスティック回帰を使ってグリッド・サーチ(Grid Search)を行います。これらのテクニックはロジスティック回帰に限ったものではないので、知っておくと今後に登場するモデルでも役に立ちます。 グリッド・サーチは、機械学習モデルのハイパーパラメータを最適化するための一般的な手法です。この方法では、各ハイパーパラメータに対して候補となる値のリストを指定します。ハイパーパラメータが複数ある場合、全ての値

          scikit-learn機械学習⑧グリッド・サーチと交差検証

          分類AIの進化史⑱VisionTransformer

          前回は、EfficientNet(2019)を紹介しました。今回は、2020年に登場したビジョン・トランスフォーマー(Vision Transformer、ViT)を紹介します。ViTはGoogle Brainチームが開発したCNNを使用しない画像分類モデルです。 ViTの論文のタイトルは、「An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale」です。日本語訳するとしたら、「画像

          分類AIの進化史⑱VisionTransformer

          トランスフォーマーの論文を読む⑦前方

          前回に引き続き、今回も論文を読みながらトランスフォーマーの仕組みを解説します。特に、位置ごとのフィードフォワード(Position-wise Feed-Forward Network)にフォーカスします。 下図にあるように、位置ごとのフィードフォワードはトランスフォーマーのエンコーダとデコーダの両方で使われています。 アテンションが文章からの文脈を取り入れているとすると、位置ごとのフィードフォワードは何をしているのでしょうか。そもそも「位置ごと」とはどう言う意味でしょうか

          トランスフォーマーの論文を読む⑦前方

          scikit-learn機械学習⑦L1・L2正則化

          前回は、ロジスティック回帰を実装しました。もっと以前には、線形回帰を実装しました。 両方のモデルに共通するのは、一つまたは複数の独立変数(特徴量)と、それらに依存する従属変数(目的変数、ラベル)との関係をモデリングすることにあります。その際に、特定の特徴が目的変数に与える影響の大きさがモデルの重み(傾き)によって表現されていました。 特に前回行ったようなデータの正規化を行なっている場合は、データの分散はどれも同じようになるので、各特徴量に対する重みがその特徴量の重要度を反

          scikit-learn機械学習⑦L1・L2正則化

          分類AIの進化史⑰EfficientNet

          前回は、MITの Song HanらによるProxylessNASを紹介しました。その前には、GoogleのQuoc V. Leらによる強化学習を利用したNeural Architecture Search(NAS)を紹介しました。今回は、再びQuoc V. LeらによるNASを利用したモデルであるEfficientNet(2019)を紹介します。 下図は、EfficientNetの性能を表しています。横軸がパラメータの数、縦軸が正解率(%)です。 黒の点は、手作業で設計

          分類AIの進化史⑰EfficientNet

          トランスフォーマーの論文を読む⑥多頭

          前回に引き続き、今回も論文を読みながらアテンションの仕組みを解説します。特に、Multi-Head Attention(マルチヘッド・アテンション、多頭アテンション)にフォーカスします。 多頭アテンションは、前回解説した「スケールされた内積アテンション」を複数使うことで、トークン間の様々な関係性に基づいたアテンションの処理を行います。 この辺りまで読み進めると、クエリ、キー、バリューに関して、その意味がより明確になってきます。

          トランスフォーマーの論文を読む⑥多頭