タグ

ディープラーニングに関するplasma0713のブックマーク (18)

  • 数式を使わないTransformerの解説(前編) - conceptualization

    2023/3/23 追記: こちら半年以上前に執筆したもので、その後私の理解も進んで内容的に更新したいところが結構あるため、近日中に非公開とさせていただき,更新後に再公開させていただくつもりです。現時点での記事の内容は、大きく間違ってはいないけどちらほら微妙なところがあるという感じです。 (ざっくり理解するだけでも良いという人にはそれでも良いかもしれませんが、そういう方向けには 今執筆中のこちらの記事 をおすすめします。) −−−− 最近話題のmidjourneyやDALL-E、凄いですよね。中身はディープラーニング(DNN)のようです。DNNといっても色んな技術がありますが、それらにはTransformerという手法が使われています。記事は、その手法がどんなものであるかを数式を使わずに説明してみよう、という主旨になります。 ※なお記事は機械学習のプロの研究者ではない私の独自の解釈が

    数式を使わないTransformerの解説(前編) - conceptualization
  • GPT-4

    We’ve created GPT-4, the latest milestone in OpenAI’s effort in scaling up deep learning. GPT-4 is a large multimodal model (accepting image and text inputs, emitting text outputs) that, while less capable than humans in many real-world scenarios, exhibits human-level performance on various professional and academic benchmarks. We’ve created GPT-4, the latest milestone in OpenAI’s effort in scalin

    GPT-4
  • (数式を使わない) Transformer の直感的な説明 / 真面目なプログラマのためのディープラーニング入門

    (数式を使わない) Transformer の直感的な説明 RNN の欠点 Transformer はこれをどう解決したか Transformer の動作原理 複数の要素間の関係を考慮する (Self-Attention、自己注意) 要素の順序を考慮する (Positional Encoding、位置エンコーディング) まとめ 概要: ChatGPT などで使われている Transformer モデルは、 ニューラルネットワークの世界にいくつかの革新的なアイデアをもたらした。 記事では、プログラマに理解しやすい形でそれらのアイデアを解説する。 実際に使われている数学の詳細には触れない。 (技術的解説については元論文 Attention is All You Need か、 その注釈版である The Annotated Transformer を参照のこと。 日語では この解説 がわかり

  • Deep Learning

    [Up] Memo Learn Quickly (ディープ・ラーニング早わかり) Tutorial with TensorFlow (ディープ・ラーニング練習帳) pythonおよびjupyter上でGPUを使って TensorFlow 2 および PyTorch を動かす環境を作る。 pytorch , pytorch_gpu python および jupyter の実行環境は deep or gpu-deep YOLO_v3 on Keras を使ってみる: html , ipynb VOC2012 の annotation データを YOLO_v3 on Keras 用に変換する。 html, ipynb VideoPose3D を使ってみる transformer gpt LangChain Reinforcement Learning (強化学習) 3d-pose-baselin

  • VGG16モデルのパラメータ数について

    plasma0713
    plasma0713 2023/01/26
    “4096 という数に特に理論的な理由があるわけではありません。ネットワークのパラメータ数は解く問題に合わせて調整したほうがよいので、こうしたパラメータは変えても構いません。”
  • 実務で使えるニューラルネットワークの最適化手法 - Taste of Tech Topics

    メリークリスマス。 @tereka114です。 記事はDeep Learning論文紹介 Advent Calendar 2019の25日です。 qiita.com 私はKaggleの画像コンペに頻繁に参加しています。 そのときに、毎度選定にこまるのがニューラルネットワークの最適化手法(Optimizer)です。 学習率やWeight Decayなどハイパーパラメータが多く、選択パタンが無数にあると感じています。 そのため、Kaggleでよく利用される(されうる)最適化手法を振り返ります。 もちろん、実務でも十分使えるので、皆さんの学習に活かしてくれると幸いです。 最適化手法 SGD(Momentun) Adam AdamW AdaBound RAdam 実験 Optimizer間の比較 RAdamとAdamの学習率 AdamWのWeight Decayの値 最後に 最適化手法 今回紹介

    実務で使えるニューラルネットワークの最適化手法 - Taste of Tech Topics
    plasma0713
    plasma0713 2023/01/22
    “学習率(Alpha,lr)の設定を誤るだけで、勾配が爆発し、その結果、パラメータの更新幅が大きくなり、オーバーフローを起こすことも多々ありました。 学習済モデルを利用する場合は0.0001を利用すると安定することが多い
  • How to Use Weight Decay to Reduce Overfitting of Neural Network in Keras - MachineLearningMastery.com

    plasma0713
    plasma0713 2023/01/22
    “Weight regularization does not seem widely used in CNN models, or if it is used, its use is not widely reported.”
  • 過学習抑制「Weight Decay」はSGDと相性が良く、Adamと良くない?/ニューラルネットワーク - SE_BOKUのまとめノート的ブログ

    目次 過学習の抑制手法「Weight Decay」 Weight Decayのペナルティの値は係数をかけ合わせたもの Weight Decayの係数の適切な初期値は? Neural Network Console(NNC)で確認 NNCリファレンスの記載 Weight Decayの係数の適切な値とは Weight DecayとOptimizerとの相性 Optimizer「Adam」で確認する Optimizer「Sgd」で確認する まとめ:SGDと相性が良く、Adamと良くない 過学習の抑制手法「Weight Decay」 過学習というのは、学習(訓練)データに適合しすぎて、学習(訓練)データと異なるデータでの正解率が低くなってしまうことです。 正解率をあげるためには、過学習をなんらかの方法で抑制する必要があります。 Weight Decayはその過学習の抑制手法のひとつです。 Weig

    過学習抑制「Weight Decay」はSGDと相性が良く、Adamと良くない?/ニューラルネットワーク - SE_BOKUのまとめノート的ブログ
    plasma0713
    plasma0713 2023/01/22
    “Weight decayの値を0以外(例えば 0.0001等)にすると、L2正規化が働いて、過学習の抑制効果がありますが、Optimizerタブで「Adam」を選択していると、相性の問題で、あまり過学習抑制効果がないように見えました。”
  • VGG

    このVGGモデルは提案された2014年のILSVRCというImageNetを用いた画像認識の精度を競うコンペティションにおいて、なんと画像分類部門で2位、物体のローカライゼーション部門で1位を獲得!!このコンペティションで一躍有名になったVGGモデルは現在もtensorflowやPyTorchなどで実装とImageNetの学習済みモデルが用意されており、簡単に利用することができるようになっています。 VGGは16層のバージョンと19層のバージョンがあり、論文のタイトルからわかる通り当時のCNNとしては圧倒的に多くの層が重なっているモデルです。2012年のILSVRC優勝モデルのAlexNetは8層、2013年に提案されたZFNetが同様に8層であることから当時のVGGがいかに深い層を持つモデルであったかが理解できますよね。 またVGGは学習済みモデルが公開されたこともり、SSDなどの物体検

    VGG
  • Deep Learning資格試験 深層学習 最適化・高速化・軽量化

    はじめに 日ディープラーニング協会の Deep Learning 資格試験(E 資格)の受験に向けて、調べた内容をまとめていきます。 初期値の設定方法 通常(正規分布に従った重み) \begin{aligned} f(x) = \frac{1}{\sqrt{2 \pi}} e^{- \frac{x^2}{2}} \end{aligned} Xavier 対象の活性化関数 シグモイド関数 双曲線正接関数 設定方法 重みの要素を、前の層のノード数の平方根で除算した値 He 対象の活性化関数 ReLU 関数 設定方法 重みの要素を、前の層のノード数の平方根で除算した値に対し\sqrt{2}をかけ合わせた値 ドロップアウト 過学習の課題 ノードの数が多い ドロップアウトとは︖ ランダムにノードを削除して学習させること メリット データ量を変化させずに、異なるモデルを学習させていると解釈できる ソ

    Deep Learning資格試験 深層学習 最適化・高速化・軽量化
  • CNN(Convolutional Neural Network)を理解する - sagantaf

    この記事の目的 0. 通常のニューラルネットワークの問題 1. CNNの基 2. 畳み込み層(Convolutional層) フィルタのサイズをどうするか どうフィルタを適用していくか(ストライド) 出力サイズをどうするか(パディング) データ形状の変化 畳み込みまとめ 3. 活性化関数について 4. プーリング層(Pooling層) 5. CNNの特徴 6. そのほか利用される層 Dropout層 BatchNormalization層 7. CNNの設計 8. CNNの精度向上のために考えること 参考にした書籍やサイト この記事の目的 CNNの理論を理解し、Kerasで実装できるようにするために、理論部分をまとめた記事。 0. 通常のニューラルネットワークの問題 通常のニューラルネットワークにある全結合層では2次元以上のデータを1次元(1列のデータ)に並べ替えて入力している。 そのた

    CNN(Convolutional Neural Network)を理解する - sagantaf
  • AWS発表の新プロセッサGravition3の性能は2と桁違い?

    GravitonとはGravitonとは、クラウドプラットフォームを提供するAmazon Web Services(AWS)が開発したプロセッサで、読み方は「グラビトン」です。AWSが2015年に買収した半導体企業Annapurna Labsによって設計・製造されており、ARMアーキテクチャを採用しています。 この記事では、Gravitonとは何かを説明しつつ、先日新たに発表されたGraviton3とそれを採用したインスタンスについて、その特徴を徹底的に解説していきます。

    AWS発表の新プロセッサGravition3の性能は2と桁違い?
    plasma0713
    plasma0713 2023/01/16
    “Inferentiaを採用したInf1インスタンスは、機械学習における学習済みのモデルからの推論に特化しており、本インスタンスとペアで使用することでAWS上での機械学習のパフォーマンスを大きく向上することができるようにな
  • 【MNIST】データ拡張で「汎化性能」UPっぷ【認識率UP!】 - Qiita

    ❶はじめに AIの'Hello World'と呼ばれるMNIST(AIによる数字認識)について、今日もゆるりと試行錯誤していきたいと思います。 自分で書いた数字を認識させてみた 『0からはじめる「Python AIプログラミング」for Google Colab』で実施した通り、MNISTの認識精度は99.1%以上となり、ほぼ完成しているように見えました。 しかし、『【MNIST】自分の数字をAIに認識させよう』で自分の手書き数字が正しく認識されるか試してみたところ、意外と誤認識が多いことが分かりました。 これはつまり、MNISTが用意したテストデータでの認識精度が99.1%以上になったに過ぎないということですね。 →考えてみたら、そりゃそーなんだけどね😅 誤認識サンプル 例えばですが、『0からはじめる「Python AIプログラミング」for Google Colab』で作ったモデルを

    【MNIST】データ拡張で「汎化性能」UPっぷ【認識率UP!】 - Qiita
  • 【深層学習】畳み込みニューラルネットの各関数の使い方を調査 [DW 3日目] - Qiita

    Convolutional Neural Network (CNN) とは 画像に特化したニューラルネット。通常の多層パーセプトロンが入力層、中間層、出力層から成るのに対して、CNNはそれに加えて畳み込み層、プーリング層、局所正規化層(LRN層)をもつ。 Chainer ExampleにあったAlexNet (ILSVRC2012のトップ) を見てみると、以下のようになっている。 ImageNet Classification with Deep Convolutional Neural Networks(原文) Chainer Example AlexNet # …(略) class AlexBN(chainer.Chain): """Single-GPU AlexNet with LRN layers replaced by BatchNormalization.""" insize

    【深層学習】畳み込みニューラルネットの各関数の使い方を調査 [DW 3日目] - Qiita
    plasma0713
    plasma0713 2023/01/10
    “pythonL.Convolution2D()の引数は 第1引数 = 入力チャネル数。 KKKのこと。 第2引数 = 出力チャネル数。 MMMのこと。 第3引数 = フィルタサイズ。 HHHのこと 引数名stride = ストライド幅。(小さいほうが良い。入力画像サイズとの兼ね
  • Keras - Keras の ImageDataGenerator を使って学習画像を増やす - pynote

    概要 CNN の学習を行う場合にオーグメンテーション (augmentation) を行い、学習データのバリエーションを増やすことで精度向上ができる場合がある。 Keras の preprocessing.image モジュールに含まれる ImageDataGenerator を使用すると、リアルタイムにオーグメンテーションを行いながら、学習が行える。 キーワード ImageDataGenerator オーグメンテーション (augmentation) 関連記事 具体的な使い方は以下を参照。 pynote.hatenablog.com 概要 キーワード 関連記事 ImageDataGenerator 基的な使い方 オーグメンテーションの種類 回転する。 上下反転する。 左右反転する。 上下平行移動する。 左右平行移動する。 せん断 (shear transformation) する。 拡

    Keras - Keras の ImageDataGenerator を使って学習画像を増やす - pynote
  • KerasのImageDataGeneratorが出力する画像の順番について - Qiita

    KerasのImageDataGeneratorを使用すると簡単にデータ拡張が実現できます。 ImageDataGeneratorの使用方法については以下の記事が参考になりますが、 複数の画像を入力したときにどのような順番で画像が出力されるか気になったので調べてみました。 Kerasによるデータ拡張 Kerasでデータ拡張(Data Augmentation)後の画像を表示する 使用したコードと概要 from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.preprocessing import image import numpy as np import matplotlib.pyplot as plt def load_img(name): img = imag

    KerasのImageDataGeneratorが出力する画像の順番について - Qiita
    plasma0713
    plasma0713 2023/01/09
    “画像の総数より小さいバッチサイズを指定するとすべての画像を使い切るまで同じ画像をもととしたものは現れない。”
  • 手書きひらがなの認識で99.78%の精度をディープラーニングで - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 手書きひらがなの認識、教科書通りの畳み込みニューラルネットワーク(ディープラーニング)で、99.78%の精度が出ました。教科書通りである事が(独自性がない事が)逆に読む方・書く方にメリットがありそうなので、Qiitaで記事にします。 ソースコード ソースコードは https://github.com/yukoba/CnnJapaneseCharacter です。 いきさつ いきさつは、友人と手書きひらがなの認識の雑談をFacebookでしていて、ググったら、この2つが見つかりました。 「Tensorflowを2ヶ月触ったので"手書きひら

    手書きひらがなの認識で99.78%の精度をディープラーニングで - Qiita
  • im2col徹底理解 - Qiita

    対象者 CNNを用いた画像認識で登場するim2col関数について詳しく知りたい方へ 初期の実装から改良版、バッチ・チャンネル対応版、ストライド・パディング対応版までgifや画像を用いて徹底解説します。 目次 im2colとは なぜ必要か CNNとは フィルタリング im2colの動作と初期の実装 im2colの動作 im2colの初期の実装 初期のim2colの問題点 改良版im2col(初期ver) 変更点1 変更点2 変更点3 多次元配列への拡張 数式で追いかける 実装してみる ストライドとパディング ストライド パディング ストライドとパディングの実装 - ストライドの実装 - パディングの実装 - 出力次元の計算 完成版im2col MNISTで実験 おわりに im2colとは im2colは、画像認識において用いられている関数です。動作としては多次元配列を2次元配列へ、可逆的に変

    im2col徹底理解 - Qiita
  • 1