KMCの例会講座で用いたスライドを一部編集したものです。 ビット演算を組み合わせたトリッキーな方法で様々な操作を高速に行う方法を紹介します。
DRAGAN arXiv:https://arxiv.org/abs/1705.07215 “How to train your DRAGAN"というタイトルの論文で、 変なタイトルだなぁ..と思っていたが、 このタイトルの元ネタとして、アメリカの3DCGアニメがあるのを知った。 (日本名はヒックとドラゴンというらしい。この名前も初耳) www.youtube.com このDRAGANを使って以下のようないらすとや画像を生成したというのが本記事の主旨。 この生成画像は非常に綺麗。 この記事自体はお蔵入り予定だったが, 本日リリースされたchainerのGANライブラリの中に, 決して有名でないDRAGANが入っていて驚き, この記事を公開する意味もなくはないか,と気持ちを改め, これを機に成仏させることにした. この論文の概要 GANでは目的関数がnon-convexなので局所的なナッシュ
はじめに エムスリーAdvent Calendar 2016 最終日はデータ活用の王道、協調フィルタリングによるレコメンドをAmazon EMR上のSparkで実装します。 O'REILLYのSparkによる実践データ解析の第3章を元ネタに音楽の再生時間のデータを元にしたアーティストのレコメンドを実装してみます。 協調フィルタリングって何?という方は、ECサイトの「この商品を買った人はこんな商品も買っています」というのをイメージしてもらえれば分かりやすいと思います。 推薦システムの体系的な解説はこちらのスライドがおすすめです。 情報推薦のやり方には大きく分けて協調フィルタリングと内容ベース/知識ベースフィルタリングがあります。 内容ベースフィルタリング:ユーザが好むアイテムの内容に基いて推薦するアイテムを決める 知識ベースフィルタリング:ユーザが好むアイテムに関する知識に基いて推薦するアイ
Lisp Advent Calendar 2016参加記事 ここ数年ディープラーニングの出現をきっかけにAIが再び盛り上がっているので、いよいよLispの復権があるかと思いきや、ないので(泣)、多少なりともLispに興味を持ってもらえるように、LispとAIの関係について私見を述べておこうと思う。Lispといっても色々あるが、この記事では主にCommon Lispの話になる。 Lispというとどうしても過去の記号処理的AIと結びつけられてしまい、機械学習を駆使するような現代のAIでは役に立たないように思われがちなのだが、これは大体誤解である。少なくともCommon Lispは現代的なAI開発に適した特徴を備えている。まず、AI実装のためのプログラミング言語に必要とされる特徴は何なのかを明らかにするために、AIの歴史から考えてみたい。 AIの歴史 初期の記号処理的AI(以降は記号AIと呼ぶ)
はじめに ...とあるデータで機械学習をすることになり、それなりの精度にはなったものの、そこから精度があがらずに困っていたら、ふと思いついたので、軽い気持ちで試してみたのがタイトルのとおり。 ちなみに万能ではありません。 時系列で繰り返しが多いものに向いていて、離散的なものでは結果がでないような印象があります。 また、こういうことをやってはいけない場面もあると思いますので、ご利用は自己判断で... もし、何か理論的に間違っているところなどがあれば、コメントでご指摘頂けると助かります。 以上、そんな感じでも良ければお試しください。 やっていることの概要 サンプルコード(追加前) 諸事情により実際のコードを示せませんので、処理内容は察して下さい。 以下のコードを使って学習と予測をしているとします。 # ライブラリ読込 import pandas as pd from sklearn impor
ハイパーパラメータを探索するため、グリッドサーチやOptunaなどを利用することがあると思います。 しかし、「ハイパーパラメータ探索してみた」のようなQiita記事などでは間違って書かれていることも多いのですが、XGBoostやLightGBMの n_estimators ( num_boosting_rounds )やKerasの epochs をパラメータサーチの対象にしてはいけません。 いけません、というか、すごく無駄なことをしています。 なぜ、n_estimatorsやepochsを探索すると無駄なのか 理由はシンプルで、これらのパラメータは「大きい値で精度確認する過程で小さい値の結果も分かる」からです。 LightGBMのn_estimatorsは構築する決定木の数を表しています。 例として、n_estimators=5 (こんな小さい値で学習することはないですが、簡単のため)で
はじめに 実家で飼っているフレンチブルドッグを散歩をしていると、おばちゃんに「あら、可愛いブルドッグね」とよく声をかけられます。 そこで、機械学習を使って、フレンチブルドッグとブルドッグを分類するモデルをつくろうと思います。 手順 モデルの構築は、以下の手順で行いました。 データの用意 モデルの学習(Jupyter Notebook) データの用意〜モデルの学習に際しては、ABEJA Platformを使いました。 データの用意 データは、Stanford Dogs Datasetを使います。 これは120の犬種カテゴリ、20,580枚の画像から成るデータセットです。 今回は、主にフレンチブルドッグとブルドックの分類に関心があるため、120犬種の中から、ブル系の犬種のデータのみを選定して使用します。 id 0: ボストンブル id 1: ブルマスティフ id 2: フレンチブルドッグ id
はじめに 前にgensimによる単語の類似度について書きました。 kento1109.hatenablog.com この手の記事はググればいっぱい出てくるので、gensimでモデルを作って単語の類似度を計算するのは難しくないと思います。 ただ、LSTMなどで学習した後の単語の分散表現の類似度を測定したい場合に、そのためだけにわざわざgensimのモデルを構築するのは面倒ですし、無駄かなと思います。 ある単語と別の単語の類似度を測定するだけの場合、そのベクトル同士で測定すれば良いですが、gensimのmost_similar関数のような「ある単語のベクトルに近いベクトルの単語をN個取ってくる」機能を実現する場合は少し実装が必要です。 1単語ずつループで回してコサイン類似度を計算する、なんてしていては計算速度が遅くなります。 そこで、scipyとnumpyのライブラリを活用した関数を考えました
私はコウメ太夫が比較的好きだ。 彼に遭った最初で最後の機会は、まだ私が小学生の頃。 ショッピングモールで**"徒然なるままに書き散らしたコウメ日記"**に興じる彼に出会った。 その時のネタは今でも覚えている。 「(チャンチャヵ チャン×2 チャチャンヵ チャン×2)×2 最近目が悪いので。 コンタクトにしてみたら。 自分の頭が禿げてる事を知りました。 チクショウ。」 子供ながらに思った。 **「消え去る日は近い」**と。 私の直感的予測は当たり、2年もしないまま彼は芸能界の表舞台から姿を消した。 そこから時は流れること十数年、Twitterで不死鳥の如く復活を遂げる彼を目撃した。 彼は2016年3月、何を思ったかチクショーネタを毎日つぶやく、 **"#まいにちチクショー"**キャンペーンを始動させた。 最初のtweetのいいね数はわずか160台と、始まりは静かだったが、 時間が経つに連れて
TL;DR (英語版) https://colab.research.google.com/github/chainer-community/chainer-colab-notebook/blob/master/hands_on_en/chainerrl/quickstart.ipynb (日本語版) https://colab.research.google.com/github/chainer-community/chainer-colab-notebook/blob/master/hands_on_ja/chainerrl/quickstart.ipynb Colaboratory で、ChainerRLで動かした。 ChainerRL は、Chainerを使った深層強化学習ライブラリ。 Colaboratory は、Google が公開している無料で Jupyter noteboo
自作シンプル物理演算ゲームを強化学習で攻略させる【Unity ML-Agents v3.0】 以前から機械学習などに興味があったものの、難しそうでためらっていたのですが、Unityで強化学習ができるML-Agentsというものがあると知り、理論についてほぼ何も知識のない自分でも、なんだかいけそうだと思って試してみました。 まずは公式サンプルゲームを動かしてみたのですが、何か自作ゲームを学習させてみないと理解が進まないと思い、なるべくシンプルで最小限の構成になるようなゲームを考えました。そして、せっかくUnityを使うので物理演算も入れたい。 そこで考えたのが、上から降ってくる物体をヘディングのようにバウンドさせるゲームです。人間が手動でプレイするとこんな感じになります。これを強化学習させて攻略させてみました。 これ以下の内容はML-Agentsの公式サンプルを動かすところまで出来る方が対象
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オートエンコーダ:抽象的な特徴を自己学習するディープラーニングの人気者 Unity ML-Agentsで、カメラから得た画像をオートエンコーダで次元圧縮し、強化学習してみました。 なぜオートエンコーダを使うのかを説明する前に、まず基本的な強化学習の形とその問題点について解説します。 基本的な強化学習の形とその問題点 強化学習の目的は、ある環境において、ある状態 s のとき最適な行動 a をとる方策 π(a|s) を見つけることです。 強化学習入門 Part2 - TensorflowとKerasとOpenAI GymでPolicy Gr
仰々しいタイトルになってしまいましたが、内容はこんな便利な学習モデルの書き方が出来るよって紹介です。A Purely Functional Typed Approach to Trainable Models (Part 1)で語られているコードをベースにして説明していきたいと思っています。 この記事で紹介する内容は新しい機械学習の理論でもなければ明日から役に立つデータサイエンティストの知識でもありません。線形回帰やニューラルネットワークといった既存の学習理論を表題にもあるような微分可能プログラミング(Differentiable Programming)と純粋関数型言語を使って統一的に記述してみようというものです。こういった抽象化は理論に対する理解を深め、時に新しい構造の発見につながるでしょう。 微分可能プログラミング 本編に入る前に微分可能プログラミングという概念について簡単に触れてお
PyCon JPの運営メンバーとして自分は、昨年度のPyCon JP 2018のタイムテーブル決めに組み合わせ最適化問題を用いました。ちなみに最終的なタイムテーブルはアルゴリズムで算出された結果を人間がレビューして調整しています。 昨年度は時間の制約があり、いくつか反省点があったので今年は改善したいと考えています。 pyconjp.blogspot.com そういうわけで事前調査も兼ねて、カンファレンスのタイムテーブル決めを組み合わせ最適化問題として考え、それをPythonのライブラリを使って解く方法を書きたいと思います。 解きたい問題 カンファレンスのタイムテーブル決めでは下図のように部屋と時間が決まっていて、そこのトークを割り当てていくことが一般的です。 このとき、部屋の大きさ、時間帯やトークの内容が全く同一であれば何も考えずに隅から配置していけば良いのですが、現実には以下のような条件
caretパッケージは,機械学習のモデル構築・評価を統一したフレームワークで実行するための機能を提供している.caretのバージョン6.0.29では150個のアルゴリズムが利用できる. > library(caret) > packageVersion("caret") [1] ‘6.0.29’ > head(modelLookup()) model parameter label forReg forClass probModel 1 ada iter #Trees FALSE TRUE TRUE 2 ada maxdepth Max Tree Depth FALSE TRUE TRUE 3 ada nu Learning Rate FALSE TRUE TRUE 4 avNNet size #Hidden Units TRUE TRUE TRUE 5 avNNet decay Weig
都内の事業会社で分析やWebマーケティングの仕事をしています。大学・大学院では経済学を通じて統計解析を行うなどしておりました。企業に勤めてからは、機械学習やテキストマイニング、クローリング技術などに関心を持っています。 Twitterアカウント Mr_Sakaue( SKUE ) GitHub 読書メーター ほしいものリスト データマイニング界隈で人気のKDnuggetsで紹介されていた、”Dealing with Unbalanced Classes, SVMs, Random Forests, and Decision Trees in Python“のプログラムが残念なことに画像だったので、写経しました。せっかくなので、紹介させていただきます。内容としては不均衡データに対する処方の紹介で、プログラムはPythonで書かれています。ライブラリさえインストールできれば皆さんもすぐに実行で
前回の続きで、物体検知&セグメンテーションのライブラリ調査です。 最終的にはモバイルARで使う想定で評価しています。 ↓前回 jyuko49.hatenablog.com はじめに DeepLabの特徴 DeepLabの環境設定 ライブラリのインストール サンプル実行 コードを読んでみる テストスクリプトの作成 静止画(ローカルファイル) リアルタイム動画 性能比較 実行環境 Mask R-CNN 処理結果 処理時間(sec) DeepLab 処理結果 処理時間(sec) 結果まとめ 今後 はじめに Mask R-CNNをカメラでキャプチャしたリアルタイムの動画に適用したところ、すごくカクカクで思うように速度が出ませんでした。 GPU性能を活かせば速くなるらしいのですが、モバイルARで使うとなると、マシンスペックに頼るのは難しいです。 そこで代替のライブラリを探したところ、以下の動画を見つ
Part 2 of this tutorial for detecting your custom objects is available via this link. One of the important fields of Artificial Intelligence is Computer Vision. Computer Vision is the science of computers and software systems that can recognize and understand images and scenes. Computer Vision is also composed of various aspects such as image recognition, object detection, image generation, image
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く