タグ

DeepLearningに関するshimanpのブックマーク (80)

  • ゼロからのTransformer

    もはや機械学習の汎用アーキテクチャと化したTransformerですが、ゼロから丁寧に解説をしている英文記事を発見したので、DeepL、みらい翻訳の力も借りつつ日語に翻訳してみました。 元記事: Brandon Rohrer, Transformers from Scratch, https://e2eml.school/transformers.html なお、元記事はCC0のパブリック・ドメインです。この翻訳記事も元記事に敬意を表してCC0とします。 私は数年間、Transformerへの深入りを先延ばしにしてきました。最終的には、Transformerの特徴を知らないことへの不快感が、私にとってあまりにも大きくなりました。これはその深入りです。 Transformerは、2017年の論文で、あるシンボル列を別のシンボル列に変換する「配列変換」の道具として導入されました。最も有名な例

    ゼロからのTransformer
  • Stable Diffusion Public Release — Stability AI

    It is our pleasure to announce the public release of stable diffusion following our release for researchers [https://stability.ai/stablediffusion] Over the last few weeks, we all have been overwhelmed by the response and have been working hard to ensure a safe and ethical release, incorporating data from our beta model tests and community for the developers to act on. In cooperation with the tirel

    Stable Diffusion Public Release — Stability AI
  • 真面目なプログラマのためのディープラーニング入門

    はじめに: 講座は「機械学習ってなんか面倒くさそう」と感じている プログラマのためのものである。講座では 「そもそも機械が『学習する』とはどういうことか?」 「なぜニューラルネットワークで学習できるのか?」といった 根的な疑問に答えることから始める。 そのうえで「ニューラルネットワークでどのようなことが学習できるのか?」 という疑問に対する具体例として、物体認識や奥行き認識などの問題を扱う。 最終的には、機械学習のブラックボックス性を解消し、所詮は ニューラルネットワークもただのソフトウェアであり、 固有の長所と短所をもっていることを学ぶことが目的である。 なお、この講座では機械学習のソフトウェア的な原理を中心に説明しており、 理論的・数学的な基礎はそれほど厳密には説明しない。 使用環境は Python + PyTorch を使っているが、一度原理を理解してしまえば 環境や使用言語が

    真面目なプログラマのためのディープラーニング入門
  • Self-Attentionを全面的に使った新時代の画像認識モデルを解説! - Qiita

    08/31 (2020): 投稿 08/31 (2020): 「畳み込みを一切使わない」という記述に関して、ご指摘を受けましたので追記いたしました。線形変換においては「チャネル間の加重和である1x1畳み込み」を実装では用いています。 08/31 (2020): 論文で提案されているモデルの呼称に関して認識が誤っていたためタイトルおよび文章を一部修正しました。 言葉足らずの部分や勘違いをしている部分があるかと思いますが、ご指摘等をいただけますと大変ありがたいです。よろしくお願いします!(ツイッター:@omiita_atiimo) 近年の自然言語処理のブレイクスルーに大きく貢献したものといえば、やはりTransformerだと思います。そこからさらにBERTが生まれ、自然言語の認識能力などを測るGLUE Benchmarkではもはや人間が13位(2020/08現在)にまで落ちてしまっているほ

    Self-Attentionを全面的に使った新時代の画像認識モデルを解説! - Qiita
  • 誤差逆伝播法のノート - Qiita

    はじめに ※)「目標関数」をより一般的な名称である「損失関数(Loss Function)」表記に改めました.(2015Oct19) 誤差逆伝播法(以下,Backprop)は多層パーセプトロンを使う人にとってお馴染みのアルゴリズムですよね. いや,これだけ有名なアルゴリズムなのでちょっとネットで探してみれば沢山解説を見つけることが出来るのですが,Backpropを予測誤差の最小化に適用する場合の説明しかみつからないんです.(とはいえ,PRMLをちゃんと読めば全部載ってるんですが). Backpropでできることは何なのか? ということがあまり明らかではありませんでした. 大学の講義や教科書でのBackpropの説明はほとんど,「教師あり学習の文脈で多層パーセプトロンを識別器あるいは関数近似器として訓練する」という文脈でなされます.そのため,初学者はBackpropは教師あり学習のためのアル

    誤差逆伝播法のノート - Qiita
  • 【環境構築不要・スマホ/タブレットOK】東大松尾研のDeep Learningエンジニア育成講座『DL4US』を自習する - Qiita

    PR: 以前の記事 のデータサイエンティスト向け講座のColab実行方法などをまとめ、 図解速習DEEP LEARNINGというができました。[2019年5月版] 機械学習・深層学習を学び、トレンドを追うためのリンク150選 - Qiitaでも、一部内容をご覧いただけます 参考: Colaboratoryユーザによる非公式の情報交換Slackを試験的に立ち上げました。リンクより、登録・ご参加ください。 TL;DR いつも満員抽選となる東大松尾研Deep Learningエンジニア育成講座『DL4US』の演習資料が公開された Google Colaboratoryを使えば、Python等セットアップ不要ですぐに始められる 全ノートブックを実行し、つまずき所も乗り越え方をまとめました セットアップ後は、スマホやタブレットのブラウザでもok GPUだって無料で使える! Colab概要はこちら:

    【環境構築不要・スマホ/タブレットOK】東大松尾研のDeep Learningエンジニア育成講座『DL4US』を自習する - Qiita
  • 東大松尾研から新たに無償公開されたDeep Learning講座「DL4US」が良い、という話 - Qiita

    5/15より東大松尾研究室からDeepLearningエンジニア養成講座「DL4US」の演習コンテンツが無償公開されました。 ※講義パートは公開されていない DL4USコンテンツ公開ページ 私は業務でデータ分析に携わっており、sklern等での機械学習には触れたことがありますが Deep Learningは「いつか勉強しよう...」と思ってできていない状況でした。 ※一度Udemyで講座を受講しましたが、挫折しています。 まだDL4USのLesson0,1をやってみただけですが、非常に良いものだと感じたのでシェアしたいと思います!! DL4USについて DL4USの紹介記事から講座の特徴を引用させていただきます。 アプリケーション指向 高度な数学的知識は不要 1人1台独立した仮想GPU環境を用意 実際にモデルを学習させながら技術を習得 コードはすべてKeras (TensorFlow)と

    東大松尾研から新たに無償公開されたDeep Learning講座「DL4US」が良い、という話 - Qiita
  • 論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ

    こんにちは Ryobot (りょぼっと) です. 紙は RNN や CNN を使わず Attention のみ使用したニューラル機械翻訳 Transformer を提案している. わずかな訓練で圧倒的な State-of-the-Art を達成し,華麗にタイトル回収した. また注意を非常にシンプルな数式に一般化したうえで,加法注意・内積注意・ソースターゲット注意・自己注意に分類した.このうち自己注意はかなり汎用的かつ強力な手法であり他のあらゆるニューラルネットに転用できる. WMT'14 の BLEU スコアは英仏: 41.0, 英独: 28.4 で第 1 位 Attention Is All You Need [Łukasz Kaiser et al., arXiv, 2017/06] Transformer: A Novel Neural Network Architecture f

    論文解説 Attention Is All You Need (Transformer) - ディープラーニングブログ
  • 作って理解する Transformer / Attention - Qiita

    こんにちは。ミクシィ AI ロボット事業部でしゃべるロボットを作っているインコです。 この記事は ミクシィグループ Advent Calendar 2018 の5日目の記事です。 この記事の目的 この記事では2018年現在 DeepLearning における自然言語処理のデファクトスタンダードとなりつつある Transformer を作ることで、 Attention ベースのネットワークを理解することを目的とします。 機械翻訳などの Transformer, 自然言語理解の BERT やその他多くの現在 SoTA となっている自然言語処理のモデルは Attention ベースのモデルです。 Attention を理解することが今後の自然言語処理 x Deep Learning の必須になってくるのではないでしょうか。 この記事にかかれているコード (Github) 歴史 - RNN から

    作って理解する Transformer / Attention - Qiita
  • より高い品質の翻訳を実現するGoogleの「Transformer」がRNNやCNNをしのぐレベルに

    ニューラルネットワークの中でもリカレントニューラルネットワーク(RNN)は、言語モデリングや機械翻訳、質疑応答といった言語理解タスクに対する主要なアプローチ方法と見なされています。そんな中、GoogleがRNNよりも言語理解タスクに秀でた新しいニューラルネットワークアーキテクチャ「Transformer」を開発しています。 Research Blog: Transformer: A Novel Neural Network Architecture for Language Understanding https://research.googleblog.com/2017/08/transformer-novel-neural-network.html Googleによる言語理解タスクに秀でたニューラルネットワークアーキテクチャの「Transformer」は、英語からドイツ語英語からフ

    より高い品質の翻訳を実現するGoogleの「Transformer」がRNNやCNNをしのぐレベルに
  • ディープラーニングで翻訳プログラムを0から作った人がその仕組みを複雑な数式ではなく図で解説するとこうなる - GIGAZINE

    テクノロジーが発達することで、専門家でなくてもニューラルネットワークを使って翻訳プログラムを作ることが可能になりました。とは言っても、全く知識がない人にその仕組みを理解するのは難しいもの。そこでライターのSamuel Lynn-Evansさんが自分で情報を調べつつ0から翻訳プログラムを作成し、その時に理解した仕組みを数式を使わずに説明しています。 Found in translation: Building a language translator from scratch with deep learning https://blog.floydhub.com/language-translator/ 言語は非常に複雑で、これまで機械翻訳を行うには何人もの専門家が必要でした。しかし、人工知能(AI)の発達により、もはや専門家でなくても機械翻訳を行うことが可能になりました。これまで専門家

    ディープラーニングで翻訳プログラムを0から作った人がその仕組みを複雑な数式ではなく図で解説するとこうなる - GIGAZINE
  • TensorFlowを使ってVGG16モデルを作ってみた(途中) - Qiita

    はじめに 久々にPythonに触れます。現在、ハマっているので内容と実行結果だけ載せておき、進み次第更新していきたいとおもいます。 最終的には、以前、SSDモデルをコピペで動かしてみましたが、自身の中でモノにできるようにしたいとおもってます。 今回、VGG16モデルはディープラーニングのモデルにおいて応用的なものとなりますが、あまりTensorFlowを使って実装したものを懇切丁寧に説明されているものも少なく、またSSDモデルにもこのVGG16モデルの概念が含まれているので、足がかり的に試してみました。 当初、TF-Slimを使って実装していましたが、モデル作成時にエラーとなってしまったので、この際と冗長ですが素のまま実装してみました。 前提 学習データや学習プログラムはこの辺利用しております。 実装 参考 プログラム #!/usr/local/bin/python # -*- codin

    TensorFlowを使ってVGG16モデルを作ってみた(途中) - Qiita
  • KerasでVGG16を使う - 人工知能に関する断創録

    今回は、Deep Learningの画像応用において代表的なモデルであるVGG16をKerasから使ってみた。この学習済みのVGG16モデルは画像に関するいろいろな面白い実験をする際の基礎になるためKerasで取り扱う方法をちゃんと理解しておきたい。 ソースコード: test_vgg16 VGG16の概要 VGG16*1は2014年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)で提案された畳み込み13層とフル結合3層の計16層から成る畳み込みニューラルネットワーク。層の数が多いだけで一般的な畳み込みニューラルネットと大きな違いはなく、同時期に提案されたGoogLeNetに比べるとシンプルでわかりやすい。ImageNetと呼ばれる大規模な画像データセットを使って訓練したモデルが公開されている。 VGG16の出力層は1000

    KerasでVGG16を使う - 人工知能に関する断創録
  • 少ない画像から画像分類を学習させる方法(kerasで転移学習:fine tuning)

    ※サンプル・コード掲載 あらすじ 「フルーツの画像を判別するモデルを作ってくれませんか?」 と言われた時に、どのようにモデルを作りますか? ディープラーニングで画像分類を行う場合、通常畳み込みニューラルネットワークという学習手法を使いますが、画像の枚数によっては数週間程度がかかってしまいます。 また、学習に使用する画像の枚数も大量に用意しないといけません。 では、短時間・少ない画像から画像を分類するモデルを作るにはどうすればよいでしょうか。 その解決策として、画像分類でよく使われているfine tuningという手法をご紹介します。 今回はkeras2.0を使ってサンプルコードを書いて行きます。 *keras = Pythonで書かれたニューラルネットワークライブラリ。裏側でtheanoやtensorflowが使用可能。 fine tuning(転移学習)とは? 既に学習済みのモデルを転用

    少ない画像から画像分類を学習させる方法(kerasで転移学習:fine tuning)
  • 【機械学習】一般物体検知アルゴリズム SSD : 第1編 - Avinton Japan

    機械学習を用いた一般物体検知のアルゴリズムに、SSD(Single Shot Multibox Detector)というものがあります。 深層学習の技術を使い、高スピードで多種類の物体を検知できます。 特定の物体を覚えさせ、その特定の物体を検知させることもできます。 このブログは、2編あるSSDについてのブログの第1編となっており、このアルゴリズムの理論を説明します。 記事の目的は、初心者でもわかるような難易度にSSDのアルゴリズム理論を噛み砕いて説明することで、新しく機械学習・物体検知の世界に入りたい、コーディングはできないがとりあえず理論を理解したい、と考えている方々の助けになる事です。 より簡潔にハイレベルな内容がまとめられているのは、原著であるSSDの論文ですので、より詳しくはそちらをぜひ参照してみてください。 SSD: Single Shot MultiBox Detector

    【機械学習】一般物体検知アルゴリズム SSD : 第1編 - Avinton Japan
  • 転移学習:機械学習の次のフロンティアへの招待 - Qiita

    機械学習を実務で使う場合、「ではお客様、ラベルデータを・・・」と申し出て色よい返事が返ってくることはあまりありません。また、例えば自動運転車を作るときに、データが足りないからその辺流してくるか、お前ボンネットに立ってデータとってな、とするのは大変です。 NICO Touches the Walls 『まっすぐなうた』 より そこで必要になってくるのが転移学習です。 転移学習とは、端的に言えばある領域で学習させたモデルを、別の領域に適応させる技術です。具体的には、広くデータが手に入る領域で学習させたモデルを少ないデータしかない領域に適応させたり、シミュレーター環境で学習させたモデルを現実に適応させたりする技術です。これにより、少ないデータしかない領域でのモデル構築や、ボンネットに立つという危険を侵さずにモデルを構築することができるというわけです。 この転移学習の可能性は、NIPS 2016

    転移学習:機械学習の次のフロンティアへの招待 - Qiita
  • SSD: Single Shot MultiBox Detector 高速リアルタイム物体検出デモをKerasで試す - Qiita

    リアルタイムに物体検出するのってどうやるんだろう?と思い調べてみたら、想像以上に高機能なモデルが公開されていたので試してみました。こんな感じです。 自動運転で良く見るようなリアルタイムの物体認識をしています。このモデルは「Single Shot MultiBox Detector(SSD)」という深層学習モデルで、Kerasで動いています。 環境さえ整えればレポジトリをクローンして簡単に実行できます。今回はデモの実行方法をまとめてみます。 環境 ちょっと古いiMacにUbuntu16.04を入れたものを使いました。詳しくはこのへんとかこのへんをご参照ください。 深層学習を利用したリアルタイムの物体検出は次々と新しい技術が公開されているようです。ざっと調べたところ、R-CNN、Fast R-CNN、Faster R-CNN…。どれだけ早くなるねん。って感じですが、とにかくどんどん早くなってい

    SSD: Single Shot MultiBox Detector 高速リアルタイム物体検出デモをKerasで試す - Qiita
  • Keras:VGG16、VGG19とかってなんだっけ?? - Qiita

    新たなSSDモデルを作成して検出精度(val_lossとval_acc)と性能(fps)について知見を得たいと思います。 今回は、そもそもVGG16とかVGG19ってどんな性能なのか調査・検証しました。 VGGの名前の由来が気になって、ちょっとググってみました。 ※今回これが一番価値ある知識かも ・SONY Neural Network Console でミニ VGGnet を作るによれば、 「名前の由来は、VGGチームが作った、畳み込み13層+全結合層3層=16層のニューラルネットワークということで、VGG-16となっているそうです。」 だそうです(笑) そして、オリジナルは以下のようです。 ・Visual Geometry Group Department of Engineering Science, University of Oxford 因みに、VGG16は、Caffe-zoo

    Keras:VGG16、VGG19とかってなんだっけ?? - Qiita
  • 機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文 - Qiita

    2018年もいよいよ日が最後となりました。皆さんいかがお過ごしでしょうか。この記事では機械学習/ディープラーニング初心者だった自分が2018年にやったことをまとめていきたいと思います。ポエムじみた記事になってしまいましたが、何らかの参考になれば幸いです。 2018年のBefore-After Before 今年(4月)ぐらいまで機械学習の「き」の字も知らなかった。k-Nearest Neighbor?Support Vector Machine?なにそれ美味しいのってレベル 昔統計をやっていたので、ロジスティクス回帰ぐらいは知っていた。オーバーフィッティングの概念ぐらいは知っていたが、厳密な定義は知らなかった。 Pythonも触ったことなかった After 機械学習とディープラーニングの基礎はだいたいわかった Pythonがだいたい使いこなせるようになった 物によってはディープラーニング

    機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文 - Qiita
  • DeepLearning/機械学習を始めると必ずいるカス - BizDeep

    (2018.1227)なんか急にバズったのでちょっと追記しました。 ディープラーニング人材はやばい奴だらけ これから「AI仕事に導入したい!」と思う人は沢山いるでしょう。 ただ「ディープラーニング」や「AI」という言葉に関しては世間で色々な誤解がされており、正しく現状を理解できている人はとても少ないように思います。 ディープラーニングという言葉はAlexNetがでた2012年頃に流行り出しました。 実際に企業が仕事としてディープラーニングに手を出し始めたのはAWSGPUインスタンスをリリースした頃からだと思うので2014年ぐらいからでしょうか。 まだ流行り出して5年も経っていない技術であるため、最新の研究レベルでもディープラーニングの全容は明らかになっていなかったり(参照: ディープラーニングの解釈に関するサーベイ論文) 、正しくディープラーニングを理解するための教科書や参考書などもま

    DeepLearning/機械学習を始めると必ずいるカス - BizDeep