Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
最近の自然言語処理では、大規模なテキストから単語の分散表現や言語モデルを学習させて使っています。学習する際のテキストとしては、分量や利用しやすさの都合からWikipediaが選ばれることが多いですが、その前処理は意外と面倒で時間のかかる作業です。そこで、本記事では比較的最近リリースされた前処理済みのデータセット「Wiki-40B」とその使い方を紹介します。 Wiki-40Bとは? Wiki-40Bは、40言語以上のWikipediaを前処理して作られたデータセットです。このデータセットは言語ごとに学習/検証/テスト用に分かれているので、単語分散表現や言語モデルの学習・評価に使えます。言語ごとの対応状況については、以下のページを参照するとよいでしょう。 wiki40b | TensorFlow Datasets 前処理としては、大きくは以下の2つに分けられます。 ページのフィルタリング ペー
PyTorch/TensorFlow/Keras/scikit-learnライブラリ内蔵のデータセット一覧:AI・機械学習のデータセット辞典 機械学習やディープラーニング用の主要ライブラリが提供する「画像/音声/テキストなどのデータセット」の名前とリンクを表にまとめ、典型的な使い方を簡単に紹介する。 連載目次 本連載「AI・機械学習のデータセット辞典」では、ここまで主に、scikit-learnやKeras/TensorFlow(tf.keras)、TensorFlow Datasets、PyTorchといった主要なPythonライブラリに共通的に含まれる代表的なデータセットを紹介し、各ライブラリでの典型的な実装コード例を示してきた。しかし、これらの全ライブラリに共通的に含まれているデータセットはまれで非常に少ない。よってこれからは、個々のライブラリに1つしか含まれていないようなこまごまと
@IT eBookシリーズ Vol.64『普通のエンジニアが初めて動かすディープラーニング』(画像クリックでeBookを表示) AI・機械学習・ディープラーニングはもはや、あなたのような「普通のエンジニア」にとっても「使えない」では済まされないトピックだ。しかし「どこから手を付ければよいのかが分からない」「書籍を読んだけど数式がたくさん出てきて、途中で読むのをやめてしまった」「書籍は何とか1冊読み切ったけど、やっぱり仕組みと挙動への理解が不十分で実践しづらい」という人は少なくないのではないだろうか? 本書は、『普通のエンジニアでも分かるディープラーニング概説:人気連載まとめ読み! @IT eBook(58)』の続編として、ディープラーニングの仕組みと実装方法を初心者向けに解説している。図解(「ニューラルネットワーク Playground - Deep Insider」という無料で動かせるW
概要 絶賛フロントエンド勉強中の井上です。今回は自然言語処理界隈で有名なBERTを用いた文書分類(カテゴリー分類)について学習(ファインチューニング)から予測までを紹介したいと思います。本記事では実装ベースでお話しするので、「そもそもBERTって何?」という方は検索するか、参考URLを載せておくのでそこから飛んでいただけると助かります。 目次 事前準備 学習 評価 予測 参考文献 事前準備 Google Colaboratory 学習は膨大な計算量が必要なので、Google Colaboratoryを使用します https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja 無料でTPU(Tensor Processing Unit)が使えるのでお得! googleさんありがとうございます TPUはIntelのHaswellと
はじめに VAE、変分オートエンコーダのVAEです。機械学習のネットワークの一つです。 これを読まれている方は、VAEについて多少以上は御存じであるという前提でお話します。 VAEとは、端的に言えば特徴を潜在変数を介した表現に起き換える手法です。 潜在変数というのは、正体不明だがその入力を決定づける何らかの変数、といった感じに理解していればOKだと思います。 表に顕在していない、その入力を決定づける何かを、まず0まわりの値を取る自然な乱数的なサムシングとして仮定し、オートエンコーダで絞ったときの最低限の特徴がその0まわりの乱数的なサムシングのみで成り立つように設計するということです。 これ以上の詳しい説明は他に譲ります。参考としてはこちらが有名かと。 Variational Autoencoder徹底解説 VAEがこんなことできるって知ってた? ところでこの画像、何かわかりますか。 実はこ
SmallTrainサイトのトップ画面 株式会社Geek Guild(ギークギルド)は11月9日、商用AI(人工知能)サービスのための、高精度なAI学習済みモデルの開発に使えるディープラーニング(深層学習)フレームワーク「SmallTrain(スモールトレイン)ver.0.2.0」のソースコードを公開したと発表。オープンソースなので、無償で誰でも利用できる。 SmallTrainは、ライブラリ機能とラッパー機能を兼ね備えたオープンソースフレームワーク。Kerasのように使えるという。多様なデータを学習済みのAIモデルを起点に、転移学習をするだけで、工数をかけずにAIを構築できるとのこと。 SmallTrainを使うと、精度を損なわず、大量のデータを取得する労力もいらず、ディープニューラルネットワークをすぐに開発できるという。MITライセンスに準拠しており、商用利用も可能だ。 需要と供給にあ
宣伝 人工知能が顔面成分を分析してくれるサイトを作りました。ぜひ使ってみてください! ちなみにTensorflow.jsで作成しているのですべての処理がユーザーのブラウザで行われます。つまり、画像をアップしてもそれがサーバーに送られることはなく、セキュリティ的にも安心です。 ai-animal.web.app 何番煎じなんだって感じもしますが、まとめておきます。 「keras-yolo3で学習済みモデルを使って一般的な物体検出はできた」という方が対象です。 ちなみにkeras-yolo3とは物体検出を行う深層学習モデルYOLOv3をkerasで実装した有名なgitHubリポジトリのことです。 github.com さて、独自データセットで学習させるためには大きく分けて3つのことをする必要があります。(執筆時点) ・データのアノテーション ・train.pyによる学習 ・独自データによる学習
Important We are about to release a number of new things, and they are ready for testing! We uploaded to pypi a release candidate for v0.6.0 (e.g., magika 0.6.0rc3), it's ready for testing! Please report any problems here: #798. You can install the latest release candidate with pip install --pre magika. A new ML model with support for 200+ content types. A new CLI written in Rust. This will replac
機械学習プラットフォームのTensorFlowで実行される、Pythonで記述されたディープラーニング用APIが「Keras」です。このKerasを拡張して画像分類、物体検出、画像分割、画像データ補強などを行うためのモジュール式ビルディングブロック「KerasCV」を使うと、画像生成AIのStable Diffusionが約30%高速になるという報告が、KerasCVの開発者による研究チームからあがっています。 High-performance image generation using Stable Diffusion in KerasCV https://keras.io/guides/keras_cv/generate_images_with_stable_diffusion/ Stable Diffusionは2022年8月に一般公開されたオープンソースの画像生成AIで、入力した
前回のYOLOv2に引き続き、今回はYOLOv3を動かすことにチャレンジしましたので、実施内容を記録しておきます。 masaeng.hatenablog.com フレームワークはKerasを用います。 動作環境 OS:Windows 10 Home (64bit) Python 3.5 Anaconda 4.2.0 Keras 2.2.4 手順 ①GITHUBに上がっているこちらの学習済みモデルをダウンロードし、任意の場所に解凍します。 https://github.com/mashyko/keras-yolo3 <学習済みモデル> 入力画像サイズ:416x416 学習データセット:COCO classes 検出クラス:80クラス "person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck", "
オミータです。ツイッターで人工知能のことや他媒体の記事など を紹介していますので、人工知能のことをもっと知りたい方などは @omiita_atiimoをご覧ください! 他にも次のような記事を書いていますので興味があればぜひ! 【2020決定版】スーパーわかりやすい最適化アルゴリズム -損失関数からAdamとニュートン法- ついにAdamを超えた!最新の最適化アルゴリズム「RAdam」解説 新たな活性化関数「FReLU」誕生&解説! 2019年最強の画像認識モデルEfficientNet解説 画像認識の大革命。AI界で話題爆発中の「Vision Transformer」を解説! 出きたてホヤホヤ!最新オプティマイザー「AdaBelief」を解説! SGD+Momentum(緑)とAdam(赤)とAdaBelief(青)の比較。青が一番早く収束していることがわかります。 "AdaBelief
以下の記事が面白かったので、簡単にまとめました。 ・Gemma: Introducing new state-of-the-art open models 1. Gemma「Gemma」は、「Gemini」と同じ技術を基に構築された、軽量で最先端のオープンモデルです。「Google DeepMind」と「Google」の他のチームによって開発された「Gemma」は、「Gemini」からインスピレーションを受けており、その名前はラテン語で「宝石」を意味するgemmaを反映しています。モデルの重み付けに伴い、開発者のイノベーションをサポートし、コラボレーションを促進し、「Gemma」の責任ある使用をガイドするためのツールもリリースします。 「Gemma」は本日より世界中で利用可能になります。 知っておくべき重要な詳細は次のとおりです。 ・「Gemma 2B」「Gemma 7B」の2つのサイズの
強化学習の評価でよく使われるAtariのゲームですが、ついに57全てのゲームで人間を超えた手法が現れたようです。 早速実装してみました。 ※ネット上の情報をかき集めて自分なりに実装しているので正確ではない点はご了承ください ※解釈違いの内容がある可能性もご注意ください(理解が追いついていない部分があります) コード全体 本記事で作成したコードは以下です。 github GoogleColaboratory(実行結果付き) ※GoogleColaboratoryはmultiprocessingの相性が悪いらしく1Actorのみの学習となります) ※MountainCarの学習をのせています 追記:自作フレームワークを作成しています。そちらの実装の方が正確なコードとなります。 目次 構成としては前半が技術解説で後半が実装の説明になります。 Agent57とは NGU(Never Give Up
連載目次 前々回は回帰問題、前回は分類問題の解き方を解説した。それぞれの評価時における精度指標(Metrics)として、回帰問題では平均絶対誤差(MAE)を、分類問題では正解率(Accuracy)を用いた。これらは、最も基礎的で一般的な評価関数(Metric function)である。実践では、より多様な評価関数を使い分けることになるだろう。 そこで今回は、回帰問題や時系列予測(後述)で使える代表的な評価関数をまとめる。具体的には、下記の7つの評価関数を説明する。 本稿は、一通り目を通すことでざっくりと理解したら、あとは必要に応じて個別に参照するという「辞書的な使い方」を推奨する。といっても、上記の順番で違いを意識しながら理解すればそれほど難しくはないので安心してほしい。 時系列予測について 本連載では、ここまで回帰(Regression)と分類(Classification)については説
11月新刊情報『scikit-learn、Keras、TensorFlowによる実践機械学習 第2版』 Aurelien Geron 著、下田 倫大 監訳、長尾 高弘 訳 2020年11月4日発売予定 832ページ ISBN978-4-87311-928-1 定価5,280円(税込) 本書はコードを動かしながら学び、機械学習が使えるようになることを目的とした書籍です。現実的な問題を出し、サンプルデータを示しながら、機械学習で問題を解決に導くまでの一連の手法を体系立てて解説します。 深層学習以外の機械学習にはscikit-learnを使い、機械学習プロジェクトの流れ、データからモデルを学習する方法、データの処理・クリーニングなどの基礎から、特徴量の選択や過学習、データの次元削減など応用までを学びます。深層学習にはTensorFlowとKerasを使い、ニューラルネットワークの構築と訓練、ニュ
tf.kerasが終了 Keras 3がTensorFlowから独立し、マルチバックエンド復活!:TensorFlow 2+Keras(tf.keras)入門 TensorFlow+Kerasの最新情報として、Keras 3.0のリリースに伴い、TensorFlowから独立し、TensorFlow 2.16以降でKeras 3がデフォルトとなったことについて紹介します。また、Keras 3(TensorFlowバックエンド)での書き方や、今後のディープラーニングライブラリの選び方についても私見を示します。 連載目次 もう4年も前になりますが、2020年5月に「マルチバックエンドKerasの終焉(しゅうえん)、tf.kerasに一本化」という記事を書きました。しかしその後、逆の動きが起きています。本稿では、前回の記事をフォローアップする目的も兼ねて、最新の状況をお伝えします。 そもそもKer
Image edited by Author for the icon taken from the official site of PyTorch and KerasThe war between Deep Learning Frameworks is still on fire, which one that will gain more masses, it will be the next game-changer for the deep learning community in future. The loser one will fade in if they can’t survive by giving the best solution for the deep learning community and the world. The first framewor
では、早速1つずつ説明していこう。今回はこれまでの連載の中でも比較的難しめであるので、理解できない部分があれば時間をかけて何度も読むなどして頑張ってほしい。 二値分類用[基礎編](Binary classification) 混同行列(Confusion Matrix)について 二値分類の評価関数を理解するには、まずは混同行列(Confusion Matrix)を知っておく必要があるので、最初に説明させてほしい。簡単そうで間違いやすいところなので、冗長になるが例を使って丁寧に説明する。 二値分類の問題に対する学習済みモデルの予測結果を評価して、正解率(何%正解か)を算出することを考えてみよう。二値分類の一方の値が例えば「YES(1.0)」で、もう一方が「NO(0.0)」であるとする(例えばタイタニック号乗客者の生存状況で生存がYES、死亡がNOなど)。予測値がYESのとき、正解値がYESな
この記事は GMOアドマーケティングAdvent Calendar 2020 23日目の記事です。 みなさんこんにちは、GMOアドマーケティングのM.H.と申します。 突然ですがみなさんは機械学習する時にどのような環境で実行していますか?Google Colaboratoryでは、制限はありますが無料でTPUを使用し、高いパフォーマンスで学習を進めることができます。 今回はこのTPUを使って、モデル内のハイパーパラメータを自動で探索してくれるKeras Tunerを使っていく方法と注意点についてお話しします。 そもそも、TPUとは TPU(Tensor Processing Unit)とは、Googleが開発した機械学習特化型のプロセッサのことで、基本的にGPUよりも高速で学習を進めることができます。計算量が多く、バッチサイズが大きい場合に特にその効果を発揮します。 私たちがこのパワ
評価関数については今回で最後となるので、ぜひ頑張って今回の分まで読み終えて、機械学習/ディープラーニングにおける代表的な評価関数を一通り押さえてほしい。本稿の最後では、TensorFlow/Keras(tf.keras)のcompile()&fit()メソッドを使った場合に「評価」を実行するための基本的な方法も紹介する。 二値分類用[応用編](Binary classification) 今回のLogLossとAUCは前々回と前回ほど評価関数の数式がシンプルではない。少し回り道になってしまうが、数式の意味をより深く理解するために、順序立ててグラフなどを示しながら説明していくのでお付き合いいただけるとうれしい。 LogLoss(Binary Logarithmic Loss) 前回は二値分類用の正解率を解説した。正解率の場合、モデルからの出力結果は(基本的に)陽性(Positive、正例、例
本書では、ディープラーニングの研究で受賞歴のある3人の著者が、アイデアを現実世界の人々が使用できるものに変換するプロセスをステップバイステップで丁寧に解説します。構築するのは、クラウド、モバイル、ブラウザ、エッジデバイス向けの実用的なディープラーニングアプリケーションです。一部の章ではその章で扱うトピックの専門家をゲスト執筆者に迎えてさまざまな手法を解説しているので、読者のニーズにマッチするアプリケーションがきっと見つかるでしょう。対象読者は、ディープラーニングの世界にこれから参入したいソフトウェアエンジニアやベテランのデータサイエンティストから、AIを搭載した独自のアプリを作りたいけれど何から始めればいいのかわからないホビーストまで。 賞賛の声 監訳者まえがき まえがき 1章 人工知能の概観 1.1 おわび 1.2 ここからが本当のイントロダクション 1.3 AIとは 1.3.1 きっか
こんにちは、GMOアドマーケティングのS.Rです。 TPUとはディープラーニングを高速化するために、Googleが開発したプロセッサーです。TPUの利用により、ディープラーニングのモデルのトレーニング時間を20倍以上改良する事が可能です。 TensorFlow 1.xでTPUを利用するAPIを提供していますが、TensorFlow 2.0ではこのAPIの利用方法が変更されました。 今回はTensorFlow 2.0でTPUを利用する方法を皆さんへご紹介します。 利用する環境 Googleが無料で提供している機械学習目的の研究用ツール【Colab】を利用します。 1 Colabのインスタンスを作る Colabを利用するために必要な最初のStepは、Colabのファイルを作る事です。 Google Driveの管理画面へ遷移し、新しいColabのファイルを作ります。 2 TPUを設定する 作成
TensorFlow models are programs. これは、著名な機械学習プラットフォームであるGoogle TensorFlowの「Using TensorFlow Securely」の冒頭に記載されている文言です。 TensorFlowには、学習済みの機械学習モデル(以下、分類器)をファイルに書き出す、または、学習済み分類器をファイルから読み込む機能が備わっています。これにより、一度学習して作成した分類器の再利用や、分類器の第三者への配布を可能にしています。しかし、もし第三者から提供された学習済み分類器が悪意を持って作られていたらどうでしょうか? TensorFlowの学習済み分類器には、学習済みの重みやバイアス、Optimizerなどを含めることができるほか、Lambdaレイヤを使用することで任意の関数をも含めることができます。当然ながら、任意の関数には任意のコードを記述
はじめに 最近では、Deep LearningのライブラリとしてPyTorchが利用される機会が多くなっています。私自身も以前はTensorflow/Kerasを利用していましたが、現状はPyTorchを使うことがほとんどです。 しかし、PyTorchは実装がしやすいものの、モバイルやエッジデバイスへのデプロイを考える上では不安な点が残ります。今回は、PyTorchを様々なプラットフォーム上で利用することを考えたときにどのような方法があるかを整理します。 モバイル 選択肢の整理 現在、モバイル (iOS/Android)へのデプロイを考えるときにメジャーな選択肢が3つあります。 Core ML (Apple) PyTorchをonnxに変換し、onnxをcoreMLに変換する Tensorflow Lite (Google) PyTorchをonnxに変換し、Tensorflow/Kera
連載目次 データセット解説 Reuters newswire classification dataset(ロイターのニュースワイヤー分類データセット。以下、Reuters newswire)は、ニュース配信テキストが「46分野のどのトピックに該当するか」を判定するために使える、テキスト分類/文書分類用データセットである(図1、詳細は後述するがReuters-21578のサブセットとなっている)。 図1 Reuters newswireデータセットの内容例 ※元々のデータセットの配布元: David D. Lewis氏のサイト「Reuters-21578 Text Categorization Test Collection」。また、UCI Machine Learning Repository「Reuters-21578 Text Categorization Collection Da
はじめに この記事は、NTTテクノクロス Advent Calendar 2019 の23日目です。 こんにちは、NTTテクノクロスの広瀬と申します。業務では高精細VR配信エンジン1や機械学習による画像認識AIエンジンの研究開発に取り組んでいます。 今回はちょっと技術や開発から離れて、Deep Learningを組み込んだアプリ開発現場で、速度を求めたりGUIが欲しかったりとアプリ開発はPython以外で開発したい時はどうするの?といった疑問を解決する入口部分に触れていきたいと思います。 入門書を読み終わってアプリを作ろう!という方の、次の勉強ステージ選択の手助けになれれば幸いです。 我々はPythonに縛られている 世の中にはTensorFlowやPyTorch/ChainerといったDeep Learningを扱うフレームワークは数多く存在するのですが、開発にあたってはPythonを前
この記事は、別にちょっとした理由があってR版Kerasで自前のDNNモデルをfine-tuningしたいと思ったので、調べて得られた知識をただまとめただけの備忘録です。既にやり方をご存知の方や、興味がないという方はお読みにならなくても大丈夫です。ただし「このやり方間違ってるぞ」「その理解は誤っている」的なご指摘は大歓迎どころか大募集中ですので、コメントなどでご一報ください。 Fine-tuningとは R版Kerasのドキュメントに書いてあること Rコードと実験結果 Fine-tuningとは 前々から雰囲気では理解していたんですが*1、雰囲気しか知らないが故に適切なまとめ方が分からないのでこちらのブログ記事から引用させていただくと、 ファインチューニングとは、学習済みモデルの一部もしくはすべての層の重みを微調整する手法です。転移学習では、学習済みモデルの重みを固定して用いますが、ファイン
最近、Meta-Learningについて勉強したのでMeta-Learningの1つの手法であるMetric Learningについて記事をかいてみました。Metric Learningの基本的な手法であるSiamese NetworkをKerasとPytorchで実装して簡単な精度評価まで行いました。 Kerasの実装はシンプルなSiamese Networkを実装したもので、Pytorchの実装は以下の論文のアーキテクチャを実装し、論文と同様に精度評価してみたものになります。 Siamese Neural Networks for One-shot Image Recognition Meta-Learningとは? Meta-Learning: Learning to Learn Fast より引用 Meta-learning, also known as “learning to
Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster
機械学習におけるクラスの重み付け 機械学習において、データセットのクラス分布が不均衡な場合には、重み付けの考え方を導入することが多いです。これは特に、一部のクラスのデータ数が他のクラスと比べて非常に少ない場合(不均衡なデータセット)に有効です。この記事では、クラスの重み付けについて説明し、その実装方法をKerasとAdaBoostで解説します。 クラスの重み付けとは? クラスの重み付け(Class weighting)は、不均衡なクラス分布を持つデータセットに対する学習において、少数派のクラスを適切に扱うためのテクニックです。具体的には、クラスの重み付けは分類器に対して、少数派のクラスのデータに対する学習により重要な重みを置くよう指示します。これにより、少数派のクラスのデータがモデル学習において大きな影響を持つようになり、全体のパフォーマンスが向上することが期待できます。 Kerasでの実
Denoising Diffusion Implicit Models Author: András Béres Date created: 2022/06/24 Last modified: 2022/06/24 Description: Generating images of flowers with denoising diffusion implicit models. View in Colab • GitHub source Introduction What are diffusion models? Recently, denoising diffusion models, including score-based generative models, gained popularity as a powerful class of generative models,
Adversarial Images Deep Learning Keras and TensorFlow Tutorials by Adrian Rosebrock on October 19, 2020 In this tutorial, you will learn how to break deep learning models using image-based adversarial attacks. We will implement our adversarial attacks using the Keras and TensorFlow deep learning libraries. Imagine it’s twenty years from now. Nearly all cars and trucks on the road have been replace
Working with preprocessing layers Authors: Francois Chollet, Mark Omernick Date created: 2020/07/25 Last modified: 2021/04/23 Description: Overview of how to leverage preprocessing layers to create end-to-end models. View in Colab • GitHub source Keras preprocessing The Keras preprocessing layers API allows developers to build Keras-native input processing pipelines. These input processing pipelin
はじめに kaggle等でMLPの実装を探すと,kerasのSequentialにDense層やDropout層をaddしまくるような実装をよく見かけます. torch.nn.Moduleを用いた実装では,Linearと活性化関数を2,3個繰り返す実装が多いように思います. これらはMLPの概念に忠実な実装です. しかしMLPの中間層の数を簡単に自由に変更できれば,より柔軟な実装ができるかもしれません. ここで紹介するアイデアはシンプルで誰でも思いつきそうなものですが,レイヤ数が固定の実装ばかり見ていると考え方が固くなってしまい,筆者にとっては新鮮なものであったので記事にしました. Keras (Sequential) 中間層のサイズを指定して,for文でn_layer-2個のDense層とDropout層を追加すれば,可変個数の層を追加できる. from keras.models imp
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く