タグ

ブックマーク / qiita.com (1,095)

  • 2021年最強になるか!?最新の画像認識モデルEfficientNetV2を解説 - Qiita

    その他層の数も探索空間に入れています。ここで拡張率とは、MBConvの最初のConvでチャネル数を何倍にするかの係数のことで、こちらでより詳しく解説しています。 探索は精度$A$、ステップごとの学習時間$S$、パラメータサイズ$P$を用いて、$A\cdot S^w\cdot P^v$を最大化するように行われます。ここで$w=-0.07, v=-0.05$であり、これらの値は実験的に決定されています。 1.3.2 EfficientNetV2のアーキテクチャ 下表がEfficientNetV2のSサイズのモデルになります。 画像: "EfficientNetV2: Smaller Models and Faster Training", Tan, M., Le, Q., (2021) 比較のためにEfficientNet-B0(i.e. V1)のアーキテクチャも下に載せます。 画像: "Ef

    2021年最強になるか!?最新の画像認識モデルEfficientNetV2を解説 - Qiita
    rydot
    rydot 2021/08/11
  • 2019年最強の画像認識モデルEfficientNet解説 - Qiita

    GPipeは大きすぎてハードウェアのメモリに限界がきてしまっている。 そのため、効率的なモデルが求められる。 2.2 ConvNetの効率性 モデル圧縮やハンドクラフトによる効率的なモデル作成などがあったが、近年ではNAS(=Neural Architecture Search)によるモデル作成が性能が良く、流行っている。 この論文ではモデルの広さ、深さ、解像度をいじるモデルスケーリングを使ってConvNetの効率性を高める。 3. Compound Model Scaling(複合モデルスケーリング) 3.1 問題の定式化 繰り返しになるが、モデルスケーリングはあくまで広さ、深さ、解像度を変えるだけで、 レイヤーのアーキテクチャを変えたりはしない。 そのため、いじるのは広さ、深さ、解像度だけで良くなるが、全てのレイヤーでそれらを最適な値にするのはまだ候補が多すぎるため、この論文では、全て

    2019年最強の画像認識モデルEfficientNet解説 - Qiita
    rydot
    rydot 2021/08/11
  • CNNの畳み込み処理(主にim2col)をpython素人が解説(機械学習の学習 #5) - Qiita

    0. はじめに CNN(畳み込みニューラルネットワーク)の「畳み込み処理」のうち、im2col周りを中心に説明します。サンプルソースはpythonで書かれているわけで、python素人には難易度が高い!筆者の理解の過程を共有します。 全体を通して、以下書籍を参考にしながら記載をしています。 「ゼロからつくるDeepLearning」斎藤 康毅著 オライリージャパン 誰もが知るすばらしいです。説明がめちゃめちゃわかりやすいです。 尚、ページに変な記載があったら、すべて私の無知・誤りによるのものです。 1. 全体像 1.1. CNNとは ・・・について、細かい説明は省きます(これを読んでいる人がCNN知らないことはないと思いますので)。 【参考ページ】 Convolutional Neural Networkとは何なのか 1.2. 扱う範囲 CNNのうち、「画像データから最初に畳み込む」部

    CNNの畳み込み処理(主にim2col)をpython素人が解説(機械学習の学習 #5) - Qiita
    rydot
    rydot 2021/08/11
  • im2col徹底理解 - Qiita

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

    im2col徹底理解 - Qiita
    rydot
    rydot 2021/08/11
  • PythonとOCRエンジンで画像から文字を認識する - Qiita

    目的 anacondaの仮想環境内でtesseractとPyOCRを使い、画像から文字を認識できるようにします。 今回は画像の文字を認識し、ターミナルへ出力できるところまでの行います。 こんな感じ↓ 環境 python 3.6 tesseract 4.1.1 PyOCR 0.8 手順 ツールのインストール anacondaの仮想環境に下記2つをインストールします。 ・文字認識のためのOCRエンジンであるTesseract OCRをインストール https://anaconda.org/conda-forge/tesseract

    PythonとOCRエンジンで画像から文字を認識する - Qiita
    rydot
    rydot 2021/08/04
  • テンソルを実装するのに表現可能関手がとても便利な件 - Qiita

    最近hmatrixで深層学習を実装する機会があったのですが、hmatrixはベクトルと行列しか提供していないので3階以上のテンソルが必要になって困るという場面に出くわしました。そこで自分で長さ付きベクトルを組み合わせてサクッとn階テンソルが作れると便利かな〜と調べていたら(素直にrepaやmassivを使えという話ではあるのですが )表現可能関手を使うことでn階テンソルとその演算が楽に(そして抽象的に)実装できるという文献1を見つけたので備忘録も兼ねてまとめておこうと思います。 この記事で紹介したコードは以下のGistで公開しています。 https://gist.github.com/lotz84/78474ac9ee307d50376e025093316d0f 関手、つまりFunctorのことですが、表現可能関手はその中でも特別な性質を持つものです。この記事は前半と後半に分けて、前半では

    テンソルを実装するのに表現可能関手がとても便利な件 - Qiita
    rydot
    rydot 2021/07/29
  • matplotlibのめっちゃまとめ - Qiita

    0. はじめに やりたいことがあるたびにいちいちGoogleや公式サイトで検索してそれっぽいのを探すのはもう面倒だ。 やっとそれっぽいのを見つけたのに、一行で済むようなことを「plt.なんちゃら」だの「set_なんちゃら」をたくさん並べましたなんてブログはもはや検索妨害だ。 Qiitaにすら僕のためのいい感じのまとめがないなんて…… よく考えたら自分が普段使うようなメソッドなんて限られているじゃないか。 もう自分でまとめるわ。自分のために。 というわけでインポート。 ちなみにmplは6.4.と6.5.でしか使わない。 1. 図(Figure)の作成 matplotlibの描き方は、まず台紙となるFigureをつくり、そこに付箋Axesを貼り、その付箋にプロットしていくというのが僕の中のイメージ。 したがってまず台紙を作る。これにはplt.figure()を用いる。plt.subplots(

    matplotlibのめっちゃまとめ - Qiita
    rydot
    rydot 2021/07/24
  • プログラマーのための原則(2 万字) - Qiita

    はじめに 今でも語り継がれる「原則」は、それだけ価値のあるコンセプトです。 歴史を振り返ることは、失敗を防ぐための効率の良い方法になります。 👑 DRY (Don't repeat yourself) 「同じことを繰り返すな。」 Andy Hunt と Dave Thomas の著書『達人プログラマー』(1999 年)で提唱された原則で、プログラミングに関する最も重要な原則といっても過言ではありません。 DRY 原則だけでなく、どんなデザインパターンやベストプラクティスでも、同じ処理が重複することは基的に許されていません。 これにはどういう意図が込められているのでしょうか。 🔖 表面的な理由 この原則は、コードの再利用性を高め、そのために疎結合な状態を保つことは、極めて有用なことを示唆します。 1 箇所を直せば済むべき箇所をあちこちに分散させてしまうのは、自分で事故を招いているのと同

    プログラマーのための原則(2 万字) - Qiita
    rydot
    rydot 2021/07/21
  • カルマンフィルターについて - Qiita

    はじめに 千葉大学/Nospareの米倉です.今回はカルマンフィルターについて解説していきたいと思います. カルマンフィルターで何が出来るの? フィルターとあるように,カルマンフィルターが出来る基的なことは線形ガウス状態空間モデルのフィルタリング密度を逐次的に求めることです.ここで2つのキーワード,「線形ガウス状態空間モデル」と「フィルタリング密度」という単語が出てきましたので,まずはそれらについて解説します. 線形ガウス状態空間モデルとは 状態空間モデルとは2つの確率過程からなります.1つは潜在変数・状態変数・隠れ変数といわれるもので,これは直接観測できないがマルコフ連鎖に従う変数だとモデリングされます.例えば景気の良し・悪し等,概念として存在するけれど直接は観測できないものを想像してください.2つめは観測値で,これは直接観測できるもの,つまりデータです.ただし変数に依存して観測される

    カルマンフィルターについて - Qiita
    rydot
    rydot 2021/07/21
  • 「PyWebIO」があればPython 100%でWebアプリ作れるってマジ!? - Qiita

    TL; NR PyWebIOっていう、Pythonユーザ向けでけっこうイケてる(死語)Webアプリケーションフレームワークを発見した。(正確にはスタックオーバーフローのコメントで知った) なのに日語の記事が全然見つからないからサンプルコード組んでみた。 結論から言うとタイトルはマジ。 Python大好きだけどHTMLJavascriptを見ると血圧が上がったりバイタルサインが著しく低下する人もこれなら楽しく遊べそう。 個人的な印象としては込み入った複雑なレイアウトを作るのは大変そうだけど、Bottleよりもスタートアップが楽。 PySimpleGUIと同レベルかそれ以上の簡単さで作れるWebアプリは貴重なので頑張って進化してもらいたいと思いました。(CSSアレルギーおじさん並みの感想) インストール Python 3.9 をインストール済みの Windows 10 とかで下記のとても複

    「PyWebIO」があればPython 100%でWebアプリ作れるってマジ!? - Qiita
    rydot
    rydot 2021/07/15
  • Firefoxは危険なJavaScriptに対応しない - Qiita

    Firefox / Safari MozillaはMozilla Specification Positionsというリストを公開しています。 IETFやW3C、TC39などが提唱しているWeb技術に対して、Mozillaはどのように評価しているかという立ち位置を表明したものです。 あくまで現時点での評価であり、もちろん今後の仕様変更などに伴い評価は変わる可能性があります。 Mozilla's Positions Mozillaはどのように評価しているかの分類。 under consideration 評価の検討中。 important 優れた概念であり、Mozillaにとっても重要である。 worth prototyping 優れた概念であるが、プロトタイプを作成し、フィードバックを得て磨きをかける必要がある。 non-harmful 有害ではないが、良いアプローチではなく、取り組む価値

    Firefoxは危険なJavaScriptに対応しない - Qiita
    rydot
    rydot 2021/07/15
  • エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita

    とても久しぶりです! 1 年ぶりの投稿となりました、大槻 (通称、けんちょん) です。 去年、『AtCoder 版!マスター・オブ・整数』と題して、プログラミングコンテストで出題される整数問題を解くときに有効な考え方を特集する記事を 2 書きました! AtCoder 版!マスター・オブ・整数 (素因数分解編) AtCoder 版!マスター・オブ・整数 (最大公約数編) 今回はその続編として、素数を列挙するアルゴリズムであるエラトステネスの篩を特集していきます。なお今回の記事の内容は、競プロへの応用を意識していますが、純粋に数学的興味に沿って読み進めることもできるものになっています。下図は、これから紹介するエラトステネスの篩のイメージ図です。 0. はじめに エラトステネスの篩は、$1$ 以上 $N$ 以下の素数をすべて列挙する方法です。たとえば $20$ 以下の素数を列挙すると、$2,

    エラトステネスの篩の活用法を総特集! 〜 高速素因数分解・メビウスの反転公式 〜 - Qiita
    rydot
    rydot 2021/06/24
  • 機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita

    はじめに 私はこれまで機械学習のパラメータチューニングに関し、様々な書籍やサイトで学習を進めてきました。 しかしどれもテクニックの解説が主体のものが多く、 「なぜチューニングが必要なのか?」 という目的に関する記載が非常に少なかったため、体系的な理解に苦労しました。 この経験を後世に役立てられるよう、「初心者でも体系的に理解できる丁寧さ!」をモットーに記事にまとめたいと思います。 具体的には、 1. パラメータチューニングの目的 2. チューニングの手順とアルゴリズム一覧 3. Pythonでの実装手順 (SVMでの分類を例に) の手順で解説を進めます。 独自解釈も含まれるため、間違っている点等ございましたら指摘頂けると有難いです。 なお、文中のコードはこちらのGitHubにもアップロードしております。 2021/9/6追記:LightGBMのチューニング実行例追加 以下の記事に、Ligh

    機械学習のパラメータチューニングを「これでもか!」というくらい丁寧に解説 - Qiita
    rydot
    rydot 2021/06/20
  • 新人の方によく展開している有益な情報 - Qiita

    新人の方によく展開させていただいている有益な情報をまとめておきます。今後も展開することがあるかもしれないため情報をまとめております。 あらたな、有益な情報がありましたら、随時追加してまいります。 有益な記事・論文・書籍等を執筆・紹介していただいた皆様に感謝申し上げます。 ちなみに、記事に記載されている情報は、お困りごと・お悩みごとをお聞きしたとき・気づいたときに、そのお困りごとに対して参考になりそうなものだけを展開していました。この情報を一気に展開していたわけではございません。 コードリーディングについて [1]ソースコードを読むための技術 https://i.loveruby.net/ja/misc/readingcode.html [2]派生開発推進協議会 関西部会 スペックアウトチーム,「派生開発におけるスペックアウト手法の提案」,派生開発カンファレンス2015,2015 http

    新人の方によく展開している有益な情報 - Qiita
    rydot
    rydot 2021/05/12
  • 「俺はこっちのデザインの方が良いと思うな〜」の倒し方 - Qiita

    「それってあなたの感想ですよね」 ..... けど、これじゃ勝てないよね、現場はそんな単純じゃないですよね そんなあなたのデザインにひと摘みのエビデンスを添える手法をいくつかお伝えします。 そうです、ユーザーテストです。 .....まだ閉じないで...まだ諦めないでほしい。 いつものじゃなくて定量的に測るユーザーテストです。 タイトルのような主観的な感想を、客観的な数値で倒すことができるのです。 ここではプロダクトのデザイン(見た目やUI設計)をどう定量的にテストしていこうかというお話をします。 はじめに定量的なユーザーテストをすることで見える世界をお伝えするので、その後はこういう場面ではこう倒すといったような How to を列挙しようと思います。 エンジニアの皆々様はテストを書きますよね。 デザインのテストは疎かにしてませんか? ユーザーテストをすることで実現できること たとえば Yo

    「俺はこっちのデザインの方が良いと思うな〜」の倒し方 - Qiita
    rydot
    rydot 2021/05/12
  • デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - Qiita

    こんにちは、大学 1 年になったばかりの E869120 です。 私は 5 年前に趣味競技プログラミングを始め、AtCoder や日情報オリンピックなどに出場しています。ちなみに、2021 年 5 月 5 日現在、AtCoder では赤(レッドコーダー)です。 今回は、アルゴリズムや競技プログラミングの問題を速く解くために必要な、効率的なデバッグの方法について記したいと思います。是非お読みください。 1. はじめに 皆さんがプログラミングの問題を解いていく際に、次のような場面に遭遇したことはありますでしょうか。おそらく、読者の大半が「はい」と答えると思います。 ソースコードに謎のミスを埋め込んでしまったせいで D 問題が解けない… ああ、プログラムを 1 文字変えただけで WA(不正解)が AC(正解)に変わった、悲しい… このように、プログラムにバグ(プログラム実装上のミス)を埋め込

    デバッグ力を高める! ~5 年間の経験から学んだ、競プロ・アルゴリズム実装におけるバグ取りの戦略~ - Qiita
    rydot
    rydot 2021/05/12
  • レビューで大量の指摘をして大きな手戻りを発生させた原因はレビューアの私にあった - Qiita

    はじめに 私は十年近く前、レビューで大量の指摘を登録することが何度かありました。 当然、大量の指摘修正をしてもらうという行為は、手戻りであり、それだけプロジェクトの進捗を遅らせることになりました。 とても恥ずかしい話ですが、当時の私は、レビューで大量の指摘で手戻る原因が、レビューイにあると思い込んでいました(当にごめんなさい)。 しかし、今、振り返ってみると、手戻りの原因はレビューアである私にあったと思います。 そのような恥ずかしい自分の行動を戒めるために、どれだけ当時の自分が残念だったのかを紹介します。 要するに反省文のようなものです。 今回対象とするレビューの前提条件 今回紹介するレビューは、以下の条件を満たすものでした。 レビュー対象の成果物は、以下のいずれか。 外部仕様書 設計書 テスト仕様書 ソースコード レビューイは、レビュー対象成果物を作成した経験が浅い(数回の経験)。 レ

    レビューで大量の指摘をして大きな手戻りを発生させた原因はレビューアの私にあった - Qiita
    rydot
    rydot 2021/04/21
  • 有害な頑張りというアンチパターン - 不幸なリモートワーク、我慢のリモートワーク - Qiita

    概要 真面目にやると損をする不思議? 不幸なリモートワーク、我慢のリモートワークは有害なのでやめようという話です。リモートワーク下。 がんばって生活時間を削って対応する。ギリギリ問題がないように見せる。 最初は「頑張っている/頑張ってくれているのだな」との相互理解があっても、1ヶ月もすぎればそれは「普通」。 周りは次第に、それは彼/彼女の「当たり前」であると勘違いさせられてしまう。 一方頑張っている側は相変わらず「頑張っている」つもりに勘違いしてしまう。 姿が見えないからです。タチが悪い。 結果いつの間にか 仕事を頼まれた側: 相変わらず頑張っているのにそれが当たり前に思われてしまう。ので、感謝されない。 仕事を頼む側: 相手が頑張っていることに気づけない。ので、感謝できない。 たいへん不幸なミスマッチが発生する。 一線で水が溢れ出た時 仕事を頼まれた側: 無理です (というか元々無理目に

    有害な頑張りというアンチパターン - 不幸なリモートワーク、我慢のリモートワーク - Qiita
    rydot
    rydot 2021/04/10
  • データサイエンティストの終わりなき戦い - Qiita

    はじめに 筆者はかつてデータサイエンティストだった者です。 統計や機械学習をバリバリ使いこなしてデータを分析し、将来の売り上げ予測や要因分析、施策の効果検証などをすることに憧れてこの世界に入りましたが、そうした時間は全体の1割ほどに過ぎず、残り9割の時間の戦いに疲れて戦場を後にしました。 なぜデータサイエンティストは戦わなければならないのだろう。 おそらく一因としてあるのが、データサイエンティストという言葉がバズワード化しすぎてしまったせいで、その定義の輪郭が失われてしまったことだと思います。 整理された定義は、言わずと知れた尾崎隆さんのデータサイエンティスト・機械学習エンジニア・データアーキテクトの定義とスキル要件(2021年版)に記載されています。 しかし、専門家でも意見が別れる定義を素人がはっきりと分かるはずもなく、過度な期待が寄せられることで討死してしまうデータサイエンティストが少

    データサイエンティストの終わりなき戦い - Qiita
    rydot
    rydot 2021/04/08
  • これで効率爆上がり!C/C++の競プロ用テンプレートをmain関数の下に追いやる必殺技 - Qiita

    はじめに 皆さんは競技プログラミングで「テンプレート」は使っていますか? rep や chmin 、 modpow など、よく使う処理を事前に用意したもののことです。 この記事では、C/C++で使える「テンプレート」1の記述方法について紹介します。 C/C++のテンプレートは邪魔! テンプレートはとても便利です。コンテスト時に書くコードが少なくなり、解答スピードが速くなります。 実装方法を忘れてコンテスト中に調べ直す、なんてこともなくなります。 しかし、便利さを追い求めて様々な関数やクラスの追加を重ねるうちに、テンプレートが膨大な行数になってしまいがちです。 また、C/C++ではどうしても使うより先に宣言が必要です。すると、 main 関数はテンプレートの下に書かなくてはならず、いちばん下の main 関数にたどり着くまでのスクロールでイライラしてしまいます。 さらに、参考にしようとあなた

    これで効率爆上がり!C/C++の競プロ用テンプレートをmain関数の下に追いやる必殺技 - Qiita
    rydot
    rydot 2021/04/07