タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

*algorithmと*programとpythonに関するsh19910711のブックマーク (236)

  • Tensorflowでブロック崩し - Qiita

    ##概要 機械学習のモデルをゲームに組み込むと、結果をグラフィカルにみることができて楽しい。そこで、Tensorflowでモデルを作成してゲームに組み込む。具体的には、Tensorflowで人の手によるプレイデータを用いてモデルを作成してブロック崩しをさせる。 洗練されたモデルなどにはこだわらず、てきとーなものをてきとーに作る。 Tensorflowでの基的なモデル作成は以下の記事で 適当にTensorflowを理解して、モデルを作ってみる(Tensorflow入門) 使用するブロック崩しは以下のリンク先のもの ブロック崩し ##動機 機械学習モデルに色々プレイさせる記事はよく見るが、実際に時間をかけずに適当に試してみたい。 精度や美しさを気にせずに、動く実感を得られるように動かすのが目的。 ##前提 今回使用するブロック崩しの概要は以下のようである。 パドルを動かしてボールを弾いて行く

    Tensorflowでブロック崩し - Qiita
    sh19910711
    sh19910711 2022/01/31
    "結果をグラフィカルにみることができて楽しい / 精度や美しさを気にせずに、動く実感を得られるように動かすのが目的 / パドルとボールの動きが定まってしまい、ブロックのない空間をずっと行き来するようになった"
  • PySpark: LightGBM on Sparkを使ってみる - Qiita

    SynapseMLとは Spark上で大規模データセットを用いた機械学習を効率よく行うために設計されたライブラリ。 Microsoftによって公開されており、最近MMLSparkからSynapseMLに名前が変わった。 SynapseMLを使うことでSpark上でLightGBMの使用が可能になり、 HiggsデータセットにおいてはSparkMLより10-30%高速で、AUCは15%向上することが検証されている。 SynapseMLをDatabricksにインストールする方法 Library Sourceとして「Maven」を選択 Coordinatesに「com.microsoft.azure:synapseml_2.12:0.9.4」を入力 Repositoryに「https://mmlspark.azureedge.net/maven」 を入力 「Install」ボタンを押下 Sam

    PySpark: LightGBM on Sparkを使ってみる - Qiita
    sh19910711
    sh19910711 2022/01/15
    SynapseML / "Spark上で大規模データセットを用いた機械学習を効率よく行うために設計されたライブラリ / Microsoftによって公開されており、最近MMLSparkからSynapseMLに名前が変わった"
  • Jax/Flax × TransformersでBERTのfine-tuningをTPUで行う | 株式会社AI Shift

    こんにちは AIチームの戸田です 以前、BERTをfine-tuningする際のTipsとして混合精度の利用や、Uniform Length Batchingをつかった学習効率化を紹介させていただきましたが、今回はTPUを使った高速化について紹介したいと思います。 Flax TPU対応というと、まずGoogleのTensorflowが思い浮かびますが、今回は同じGoogleのニューラルネット学習用フレームワークのFlaxを使います。 FlaxはTensorflowと比較して簡潔に、かつ柔軟に書くことができると言われており、huggingfaceのtransformersもv4.8.0からFlaxをサポートするようになっています。 JAX/Flax has joined the ranks of PyTorch and TensorFlow in 🤗Transformers! Versio

    Jax/Flax × TransformersでBERTのfine-tuningをTPUで行う | 株式会社AI Shift
    sh19910711
    sh19910711 2022/01/03
    "一方学習曲線を見てみると、Flaxの方が精度が悪いようです / トータルのバッチサイズは両方とも32ですが、TPUの場合、デバイスが8個あるので、デバイスごとのバッチサイズが4になることが原因かと思われます"
  • グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita

    記事はNTTドコモR&Dアドベントカレンダー2021の8日目の記事です. こんにちは、NTTドコモの橋(@dcm_hashimotom)です. 業務ではレコメンド関連の技術開発・施策検討を行っており,主にPythonやBigQuery, Apache Sparkを触ってます. SNSなどで投稿したコンテンツの検索性を上げるためには,そのコンテンツへのタグ(またはハッシュタグ)の付与が重要です.Qiitaではタグは5つまで付与することができ,タグを指定した絞り込み検索や,マイページでのプロフィールに使われております.しかし,タグの付与はユーザ手動なものが多く(要出典),検索性が高いものを選択するためには,ドメイン知識が必要です.なので,タグを付ける際に「このタグがついた投稿では他にこんなタグもついてます」的なレコメンドがあれば有用そうです.また,レコメンドということですが,近年レコメンド

    グラフニューラルネットワークでQiitaのタグづけをレコメンドする - Qiita
    sh19910711
    sh19910711 2021/12/12
    "GNNを用いてQiitaタグをembeddingしたTech2Vecを作成 / DGLのチュートリアルに沿った形式で実装 / 「GNN」を入力してみましたが + 前処理で削られてしまって > もっとGNNの記事が必要"
  • Introducing TensorFlow Graph Neural Networks

    Posted by Sibon Li, Jan Pfeifer and Bryan Perozzi and Douglas Yarrington Today, we are excited to release TensorFlow Graph Neural Networks (GNNs), a library designed to make it easy to work with graph structured data using TensorFlow. We have used an earlier version of this library in production at Google in a variety of contexts (for example, spam and anomaly detection, traffic estimation, YouTub

    Introducing TensorFlow Graph Neural Networks
  • pytorchで行列分解 〜行列分解をふんわり理解する〜 - Qiita

    はじめに IBIS2017のチュートリアルで,林先生が「テンソル分解をニューラルネットのフレームワークでやれば楽チンではないか」みたいなことを言っていて,確かに便利そうだと思ったのでそれを試す. ここではフレームワークとしてpytorchを使う. まずは前段階として単純行列分解をやってみる. テンソル分解はそのうちやりたい.(余裕があれば ) テンソル分解もpytorchでテンソル分解(CP分解)でやった. 環境 Python 3.6.1 torch (0.2.0.post3) torchvision (0.1.9) モデルの定義 $X$を$U V^{T}$に分解することを考える.$X$が(n,m)行列のとき,Vは(n,r)行列,Vは(m,r)行列になる. import torch from torchvision import datasets, transforms from torc

    pytorchで行列分解 〜行列分解をふんわり理解する〜 - Qiita
    sh19910711
    sh19910711 2021/11/19
    "大体極端なケースを考えれば,理解の手助けになる"
  • spaCyを使ってルールベースの記述をシンプルに! - Qiita

    この記事は自然言語処理アドベントカレンダー 2019の12日目です。 昨今自然言語処理界隈ではBERTを始めとする深層学習ベースの手法が注目されています。 一方それらのモデルは計算リソースや推論速度の観点で制約が大きく、プロダクション運用の際は留意すべき事項を多く持ちます。 (googleが検索にBERTを導入というニュースを見た時はとても驚きました) そこで記事では自然言語処理タスクのシンプルかつ運用しやすい実装方法を考えていきます。 実装にはpythonと以降説明するspaCyとGiNZAの2つのライブラリを使います。 環境: ubuntu18.04 python 3.6.8 ライブラリインストールはpipから行います 今回行うタスク 実務で需要が多いと思われる以下の2タスクを取り上げます。 固有表現抽出 フレーズ抽出 ##固有表現抽出とは 固有表現抽出(NER)をWikipedia

    spaCyを使ってルールベースの記述をシンプルに! - Qiita
    sh19910711
    sh19910711 2021/11/10
    "spaCyでは出力の可視化機能が豊富 + Jupyter環境で可視化するには以下のspacy.displacy / 固有表現がPERSON + (任意の文字列) + LOC + (任意の文字列) +「働」が含まれる語のルールを記述"
  • 遺伝的アルゴリズム(GA)で勉強計画立ててみた - Qiita

    スケジュールがめんどくさい 1440分の使い方というは知っているだろうか? 一日の時間の使い方を説いた名著であり,僕はとても感銘を受けた. の内容については読んでくれ,Amazon Prime会員であれば無料で読めるのでぜひ. このに感銘を受け,僕は1日のスケジュールを毎日30分単位で作成していた. 一か月これを続け,その間はとても効率よく課題や勉強が進んだ. 効果については僕の1サンプルしかないが,少なくとも僕はとても充実した一か月を過ごすことができた. 問題点は一つだけある. スケジュールを立てるのがめんどくさいのである ただひたすらめんどくさい. 毎日これを立てるのに結構な時間がかかり,その上修正するのにも時間がかかる. てめー時間が大事って言いながら時間かかる作業勧めてるんじゃねぇよと思いました. 機械にやらせよう 1440分の使い方ではブルジョアは秘書を雇ってスケジュールの

    遺伝的アルゴリズム(GA)で勉強計画立ててみた - Qiita
    sh19910711
    sh19910711 2021/11/03
    "1440分の使い方: 一日の時間の使い方を説いた名著 > スケジュールを立てるのがめんどくさい / 見込み工数 + 期限 + 重要度をリスト / ペナルティ = タスク超過 + 〆切超過 + 同一タスク連続"
  • 【日本語モデル付き】2020年に自然言語処理をする人にお勧めしたい文ベクトルモデル - Qiita

    2023/03/20 追記 Studio Ousia様によるLUKEモデルをベースに学習したSentence-LUKEモデルを公開しました。 Sentence-LUKEモデル: https://huggingface.co/sonoisa/sentence-luke-japanese-base-lite 手元の非公開データセットでは、日語Sentence-BERTモデル(バージョン2)と比べて定量的な精度が同等〜0.5pt程度高く、定性的な精度はモデルの方が高い結果でした。 2021/12/14 追記 MultipleNegativesRankingLossを用いて学習した改良版モデルを公開しました。 改良版(バージョン2)のモデル: https://huggingface.co/sonoisa/sentence-bert-base-ja-mean-tokens-v2 手元の非公開デー

    【日本語モデル付き】2020年に自然言語処理をする人にお勧めしたい文ベクトルモデル - Qiita
    sh19910711
    sh19910711 2021/09/23
    TensorBoardにUMAPあったな / scipy.spatial.distance.cdist([query_embedding], sentence_vectors, metric="cosine") / "与えられたクエリ文に意味が近い文を検索 + タイトル文の潜在意味空間をUMAPで可視化"
  • PyTorch最新モデルでマルチコアTPUの本気を試す - Qiita

    ご覧いただきありがとうございます。 Google Colaboratoryにアカウントをお持ちの方は、上の「Open in Colab」という青いボタンを押せば直接notebookをColabで開けます。ぜひ動かしてみてください。 過去の記事も含め、全てのコードをGithubで公開しています。 1. はじめに 無料で使えるGoogle ColabはランタイムのタイプにTPUが選択できます。単に選択しただけで使えて欲しいところですが、あいにくそうはなっていません。また、ColabのTPUは8コア構成なのですが、1コアだけでも使えてしまうので、1コアだけで性能比較して、GPUとあんまり変わらないとしてしまっている記事をちらほら見かけます。実際、1コアだけだとP100と同程度の性能っぽいです。ただ、ColabのTPUのいいとろこは8コアを使えることと、TPUに付随するメモリがたくさん使えることな

    PyTorch最新モデルでマルチコアTPUの本気を試す - Qiita
    sh19910711
    sh19910711 2021/09/09
    torch_xla.distributed.xla_multiprocessing / "ColabのTPUは8コア構成なのですが、1コアだけでも使えてしまうので、1コアだけで性能比較して、GPUとあんまり変わらないとしてしまっている記事をちらほら見かけます"
  • 弱教師あり学習は何を見ているのか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 弱教師あり学習は何を見ているのか? 機械学習で分類モデルを学習する際、通常であれば正しくラベリングされたデータを入力としますが、弱教師あり学習では誤ったラベルから学習します。 たとえば「飛行機」、「腕時計」、「ヒョウ」を分類するモデルを学習するとき、すべての「飛行機」画像に「腕時計」、「ヒョウ」のいずれかのラベルがついている(=誤ってラベリングされている)とします。 この場合、「腕時計」画像、「ヒョウ」画像の特徴を持たない画像を「飛行機」画像と学習します。この学習を実装するには損失関数を工夫します。具体的には、学習で誤りラベルを推論する

    弱教師あり学習は何を見ているのか? - Qiita
    sh19910711
    sh19910711 2021/09/08
    "「腕時計」、「ヒョウ」ではないものとして「飛行機」を学習した場合、分類モデルは「飛行機」っぽさを学習しているのか、それとも『「腕時計」、「ヒョウ」』でないっぽさを学習しているのか"
  • TensorFlowのSavedModelの便利さを紹介する - 生き抜くぜ21世紀

    はじめに 今は2020年8月なのですが、コロナ禍だし、暑いし、経済状況最悪で暇だし、良いことないですね。 暇になったので、1年ぶりにkaggleをやってみました。 Landmark Retrievalという建物の画像検索コンペに出たところ、そのコンペの提出形式がTensorFlowのSavedModel形式でした。 私はTensorFlow案件をけっこうやってきたので抵抗はなかったのですが、この制約が原因となったのか、あまりこのコンペの参加者は多くなかったようです。 kaggleの提出形式としては賛否両論あると思いますが、実務ではとても便利な形式だと私は思っています。 それなのにもし実務でも敬遠されているとしたらもったいないと思い、この記事ではSavedModelの便利さについて紹介してみます。 ちゃんとした使い方は公式リファレンスを当たってもらうとして、概念やsaved_model_cl

    TensorFlowのSavedModelの便利さを紹介する - 生き抜くぜ21世紀
    sh19910711
    sh19910711 2021/08/25
    "saved_model_cliを活用することで、ネットワークのin/outを楽に・確実に確認することができる / saved_model_cli: TensorFlowが公式でサポートしている、SavedModelの中身をチェックするためのcliツール"
  • Pyevolveで学ぶ遺伝的アルゴリズム - mfumiの日記

    Pyevolveとは、Pythonで書かれた遺伝的アルゴリズムのフレームワークです。公式サイトによれば、Pyevolveの方針は、 ・ pure python で書く ・ APIを簡単に使えるようにする ・ 進化過程をグラフ等で見れる ・ 拡張性をもたせる ・ パフォーマンスを第一にデザインする ・ 一般的な特徴を持つ ・ 全てのオプションにデフォルト値がある ・ open-source (GPL) …とのこと。遺伝的アルゴリズムは前から少し興味があったので、これを使って勉強してみたいと思います。 Pyevolveは日語はおろか英語での情報もあまりありません。以下に参考になるサイトを挙げておきます。 公式サイト Welcome to Pyevolve documentation ! — Pyevolve v0.5 documentation 日語でPyevolveについて書かれた唯一(

    Pyevolveで学ぶ遺伝的アルゴリズム - mfumiの日記
  • pytorch-transformersを触ってみる① - 機械学習・自然言語処理の勉強メモ

    今更ながら、pytorch-transformersを触ってみます。 このライブラリはドキュメントが充実していて、とても親切です。 なので、今回はドキュメントに基づいて触ってみただけの備忘録です。 以下、有名どころのBERTで試してます。 詳しいことはここなどを参照してください。 huggingface.co はじめに 以下で、入手できます。簡単です。 pip install pytorch-transformersインストールしたら、以下でimportします。 import torch from pytorch_transformers import BertTokenizer, BertModel pytorch-transformersの基は以下の3つのクラスで構成されます。 model classes モデル体 configuration classes モデルのパラメータを設

    pytorch-transformersを触ってみる① - 機械学習・自然言語処理の勉強メモ
  • DQNで自作迷路を解く - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? DQNで自作迷路を解く Deep Q Network(いわゆるDQN)で自作の迷路を解いてみました。 プログラムはこちらにあります。 https://github.com/shibuiwilliam/maze_solver 概要 DQNは強化学習の一種で、最適な戦略選択にニューラルネットワークを使っているものになります。 強化学習やニューラルネットワークの説明は以下が参考になります。 強化学習 ゼロからDeepまで学ぶ強化学習 - Qiita ニューラルネットワーク TensorFlowのチュートリアルを通して、人工知能の原理について学

    DQNで自作迷路を解く - Qiita
  • VAEを用いたUNIXセッションのなりすまし検出 | NHN テコラス Tech Blog | AWS、機械学習、IoTなどの技術ブログ

    こんにちは。データサイエンスチームの t2sy です。 この記事は NHN テコラス Advent Calendar 2018 の17日目の記事です。 はじめに ニューラルネットワークを用いた代表的な生成モデルとして VAE (Variational Autoencoder) と GAN (Generative Adversarial Network) の2つが知られています。生成モデルは異常検知にも適用できます。今回は、VAE を用いたUNIXセッションのなりすまし検出を試してみたのでご紹介します。 VAEと異常検知 データセット fastTextによるUNIXコマンドの分散表現 KerasでVAE 実行環境は以下です。 Amazon EC2 p2.xlarge インスタンス Ubuntu 16.04 Python 3.4.5 Keras 2.1.6 TensorFlow 1.8.0 V

    VAEを用いたUNIXセッションのなりすまし検出 | NHN テコラス Tech Blog | AWS、機械学習、IoTなどの技術ブログ
    sh19910711
    sh19910711 2021/07/05
    "実験で用いるデータセットは Masquerading User Data / SEA データセットとも呼ばれるよう / 70人のUNIXコマンド列が含まれ、各ユーザは15,000コマンド / セッションごとに1%の確率でなりすましが発生"
  • Tensor2Tensorで雑談チャットボットを作ったら今度はうまくいった話 - Qiita

    はじめに 前回の失敗から手法を変えてチャットボットの作成を試みました。 今度はうまくいきましたが、ほぼ公式ドキュメント通りの内容なのであまり面白味はありません。 前回の失敗はこちらから 全体のコードはこちらから 作成方法 今回はGoogle Brain チームが提供しているTensor2Tensor(t2t)を使うことにしました。 t2tは既に用意されているデータセットで学習するだけならコードを書くことなく(コマンドのみ)実行できる手軽さが特徴です。 自前のデータセットを実行する際にも、ほぼ公式ドキュメントに書かれている数行のコードと形式の整ったデータセットさえあれば実行できるので非常に楽です。 今回は前回作成した名大会話コーパスから抽出したinput_corpus.txtとoutput_corpus.txtをデータセットとして学習・推論をさせてみます。実行環境はGoogle Colab

    Tensor2Tensorで雑談チャットボットを作ったら今度はうまくいった話 - Qiita
    sh19910711
    sh19910711 2021/07/03
    "ほぼ公式ドキュメントに書かれている数行のコードと形式の整ったデータセットさえあれば実行できる / 今回の学習には大体3時間~4時間 / 会話というより質問に対して応答しているだけではあります"
  • 音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita

    # python import librosa x, fs = librosa.load('./hoge.wav', sr=44100) mfccs = librosa.feature.mfcc(x, sr=fs) print mfccs.shape # (n_mfcc, sr*duration/hop_length) # DCT したあとで取得する係数の次元(デフォルト20) , サンプリングレートxオーディオファイルの長さ(=全フレーム数)/ STFTスライドサイズ(デフォルト512) mfccs がいい感じの次元の ndarray になります。 お急ぎでない方向け 冒頭で述べたように、オーディオのデータを機械学習のロジックで扱いたいというモチベーションがあるわけですが、例えば俗に "CD音質" と呼ばれる音質で、リニアPCMという非圧縮の形式で1秒間録音した場合のデータサイズは CD

    音楽と機械学習 前処理編 MFCC ~ メル周波数ケプストラム係数 - Qiita
    sh19910711
    sh19910711 2021/06/18
    librosa / "MFCC (Mel-Frequency Cepstrum Coefficients/メル周波数ケプストラム係数) > 音声としての情報をできるだけ損なわずに、Googleのような潤沢な計算リソースがなくても現実的に扱える次元にまで落とす方法"
  • しゃくとり法のDequeを使ったバグりにくい実装 - Qiita

    この記事の目的 しゃくとり法のバグりにくい実装の紹介です! しゃくとり法(尺取り法)って? しゃくとり法の説明自体は、とってもいいまとめがあるのでこちらをご覧ください。 しゃくとり法 (尺取り法) の解説と、それを用いる問題のまとめ でも、しゃくとり法ってバグりません? しゃくとり法っていざ書いてみるとかなりの確率でバグります。 区間の端を表す添え字 $l$ と $r$ の動かし方が結構混乱します。 この記事ではdeque(両端キュー)を使った実装を紹介します。 なんとこの実装では添え字を使う必要がありません! deque(両端キュー)によるしゃくとり法の実装 次の問題を例にとって説明します。 ABC 032 C - 列 長さ $n$ の整数列 $A = \{a_1, a_2,..., a_n\}$の連続部分列で、その要素の積が $K$ 以下となるものの長さの最大値を求める問題です。 次の

    しゃくとり法のDequeを使ったバグりにくい実装 - Qiita
    sh19910711
    sh19910711 2021/05/15
    "連続部分列をdequeの両端への追加と削除で管理 / 標準的な実装でありがちな、l が r を追い越してしまった!という事はdequeの要素の数が負になる事に相当するので起こりえません"
  • はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場

    前回は BERT についてその概要と使い方を紹介しました。今回は自然言語処理ライブラリである spaCyspaCyフロントエンドとする日NLPライブラリの GiNZA について紹介します。 1. 始めに 記事では欧米で有名な自然言語処理ライブラリである spaCy とリクルートと国立国語研究所の共同研究成果である日NLPライブラリ GiNZA について紹介します。記事の前半では、spaCy と GiNZA の概要と日語を処理する際の基的な機能/操作について説明します。後半では、spaCy で提供される文章分類機能について、前回までに紹介した手法も含めて精度を比較してみます。 2. spaCy と GiNZA の概要 spaCy は Explosion AI 社の開発する Python/Cython で実装されたオープンソースの自然言語処理ライブラリで MIT ライセ

    はじめての自然言語処理 spaCy/GiNZA を用いた自然言語処理 | オブジェクトの広場
    sh19910711
    sh19910711 2021/05/08
    "異なる言語でも spaCy で解析すれば、その後に続く処理を同一ロジックで対応できる / 2019年4月にリクルートと国立国語研究所の研究成果である GiNZA が登場 / 早い話が spaCy を日本語で利用できるようになった"