終末 A.I.

データいじりや機械学習するエンジニアのブログ

【読書メモ】『Data Governance: The Definitive Guide』 Chapter 3

目次 役割、責任、ハット ハットの種類 リーガル(補助) プライバシー責任者(ガバナー) データオーナー(アプローバー/ガバナー) データスチュワード(ガバナー) データアナリスト/データサイエンティスト(ユーザー) ビジネスアナリスト(ユーザー) …

【読書メモ】『Data Governance: The Definitive Guide』 Chapter 2

目次 エンタープライズディクショナリ データクラス データクラスとポリシー ユースケースごとのデータポリシー データ分類と組織化 データカタログとデータマネジメント データアセスメントとプロファイリング データ品質 リネージ追跡 データ保持とデータ…

【読書メモ】『Data Governance: The Definitive Guide』 Chapter 1

目次 データガバナンスとは データガバナンスに関連するもの データの信頼性の強化 データの分類とアクセス制御 データガバナンスとデータイネーブルメントおよびデータセキュリティの関係 なぜデータガバナンスはより重要になっていくのか データサイズの成…

DataHub vs OpenMetadata ~OSSデータカタログツール比較~ 【概要編】

データカタログ、皆さんはどう運用してますでしょうか。必要だとは思うけどプライオリティーが低く特に導入していない、スプレッドシート(エクセル)管理でお茶を濁している、各クラウドベンダー標準のものをとりあえず使っている、という所も多いのかなと…

Cloud Storage Transfer ServiceでAssumeRoleを使ってS3からデータを移行する

※ この記事は2021年10月の情報に基づいて記載しています。 ※ 最新情報はGCPのドキュメントを参照ください。 Cloud Storage Transfer Serviceは、GCP内から直接S3等のクラウドストレージ(もしくはオンプレミス)のデータ移行を行うことにより、高速で高並列…

データテストライブラリー「Deequ」を触ってみた

DeequはAWSがリリースしているデータテストを行うためのライブラリです(Deequの説明ではUnit Testと表現されています)。 ここで言うデータテストは、ETL処理やデータマート作成処理などの意図通り動いているどうか、取り込んだデータが昔と変化していない…

TensorFlow Array Indexing Correspond to numpy

TensorFlowで配列処理を効率的に行うのはなかなか難しいことがあります。 例えば、下記のようなIndexing処理はnumpyでは簡単に実現することができますが、TnesorFlowではそうはいきません。 a[:, [2, 3]] スライス以外の方法でインデックスを指定して値を取…

Keras Loss Behavior with Language Model

KerasのModelクラスを使用した際のロスの計算は、Paddingで追加した余計な値を勾配の計算から除外する処理は自動でやってくれるのですが、 historyに記録されるlossの平均値を求める際に、maskを部分的にしか考慮しておらず、padding数が多くなればなるほど…

Microsoft Academic Search APIで自分専用の論文検索エンジンを作る

サーベイなどで論文検索をする時によく困るのが、キーワードをこねくり回さないと以外と読むべき論文に出会えないという点です。 特に「Dialogue System」や「Image Captioning」などのように、母数が少ないニッチな分野になると、学術用検索エンジンにキー…

VariationalでEnd2EndなDialogue Response Generationの世界

この記事は、自然言語処理 #2 Advent Calendar 2019の24日目の記事です。 Open-Domain Dialogueや非タスク指向対話、雑談対話と呼ばれる領域において、発話データのみを使用したEnd2Endな対話応答生成を試みる歴史はそこまで古くなく、[Ritter et al+ 11]や[…

End2Endな対話システムの評価指標

この記事は、Qiita 自然言語処理アドベントカレンダーの2日目です。 1日目は jojonki さんによるゼロから作った形態素解析器Taiyakiで学ぶ形態素解析でした。 この記事では、End2Endな対話システムの評価指標、特に応答文生成の自動評価指標に注目して、どの…

CNNの精度向上手法のモデルサイズによる効果の違いを調べてみた

画像認識タスクはDeep Learningにより大幅に精度が向上してきた分野です。 1クラス500枚・100クラスの分類を行う必要がある、比較的難易度が高めのCIFAR-100ベンチマークでも、最新の手法であるGPipeやEfficientNetでは、テストセットにて90%を超えるAccurac…

ニューラルネットワークを使用した対話システム (2)〜機械読解質問応答システム〜

本記事は、「Neural Approaches to Conversational AI*1」を元に、ニューラルネットワークを使用した対話システムについて解説する記事の二回目です。 前回の記事では、対話システムの概要とKnowledge Base質問応答システムについて説明しました。 ksksksks2…

トポロジカルソートと強連結成分分解でWikipediaの特定カテゴリー配下のページをすべて取得する

Wikipediaの特定カテゴリー配下のページをすべて取得するためには、整理されていないグラフデータ特有のいくつかの問題に向き合う必要があります。 一つは、Category:カツラ科と糸井の大カツラのように、サブカテゴリーにはページへのリンクが含まれているが…

ニューラルネットワークを使用した対話システム (1)〜Knowledge Base質問応答システム〜

対話システムは、QAチャットや音声アシスタントなど、様々なところで使用されており、 また、GoogleのDialogflowを始め多くの独自対話システムを構築できるプラットフォームが数年前から続々と登場してきています。 しかし、これらの公開されているシステム…

「AIって何ができるの?」に答えることがなぜ難しいのか

一応、機械学習エンジニアという肩書で働いているということもあって「AIって何できるの?」と仕事中に質問を受けることがよくあります。 画像認識などの具体的なものを示して、「こういうタスクならできます」と返すことが多いのですが、 具体的過ぎて、AI…

Deep Learningでターゲットに狙いを定めるWEBアプリを1時間で構築する

先月から年の瀬まで土日もあるようなないような忙しさで、 アドベントカレンダーを楽しむ間もなく気づいたら年の瀬です。 死蔵させるのももったいないので、記事を書く余裕があればやりたいなと思っていたクソアプリネタを晒させていただければと思います。 …

2018年風TensorFlowでの学習処理の記述方法

TensorFlowが登場して早いことで3年近く経とうとしています。 Deep Learning自体がブームになってからだと、それ以上の月日が経っているわけで、人工知能ブームも以外と続いているなあというのが正直な感想です。 Theanoやtorch、chainerに遅れをとって立ち…

DNNで渦巻きデータを学習して、決定境界を可視化してみる

TJO さんの下記のブログに触発されまして、NNで渦巻きデータを分類するタスクをやってみました。 使用したデータは、下記のコードにより適当に生成した渦巻きデータです。Neural Network Playgroundの渦巻きデータのように、中心と周辺でデータの分布が近し…

畳み込みニューラルネットワークが見ている世界を可視化してみる(1)

VISUALIZING DEEP NEURAL NETWORK DECISIONS: PREDICTION DIFFERENCE ANALYSIS など、ニューラルネットワークの内部でいったいどんな処理が行われているのかを調べている論文も多く、アルゴリズムの理論的な解明を考えると、このような論文はまだまだたくさ…

CNNを利用した自然言語処理技術まとめ(2017年1月)

年末に Language Modeling with Gated Convolutional Networks が一部界隈でバズったこともあり、CNNを用いた自然言語処理が注目を集め始めています。今年の後半あたりには、派生手法や関連手法が多く登場していくのではないかと思われます。 CNNはRNNに比べ…

テキスト生成モデル -SeqGAN-

この記事は、DeepLearning Advent Calendar 2016の20日目です。 今回は、時系列データに GAN の手法を適用した SeqGAN をご紹介したいと思います。SeqGAN は分かりやすく時系列データに GAN を適用しているためアルゴリズムが理解しやすく、公式の TensorFlo…

TensorFlow で知っていると役に立つ(かもしれない)演算系関数たち

この記事は、TensorFlow Advent Calendar 2016 の13日目です。 TensorFlow で処理をスクラッチする際に知っておくと便利な関数をご紹介したいと思います。 以降の説明は、TensorFlow v0.11.0 の動作に基づいて説明しています。挙動や名称がバージョンによっ…

RNN より高速な Feedforward Sequential Memory Networks (FSMN) を TensorFlow で実装してみた

LSTM や GRU など RNN の一般的なアーキテクチャの弱点としては、DNN や CNN に比べた場合に処理の遅さがあげられます。それは、アーキテクチャからは自明で、LSTM や GRU のような系列の記憶としての隠れ変数を使用する層の場合、あるステップの計算を行う…

Prisma で使われているという Neural Style を試してみた

7月くらいに話題に上がっていました Prisma ですが、皆さん覚えていらっしゃるでしょうか。Prisma では、A Neural Algorithm of Artistic Style というアルゴリズムをベースに、面白画像を生成していると言われていますが、10月の頭にその高速化手法であるPe…

TensorFlow の cifar10 サンプルを動かす

一般的な DNN、RNN と続いて、今回は CNN を TensorFlow の cifar10 サンプルを元に動かしてみたいと思います。 AWSでのGPU環境の整備や、TensorFlow の基本的な使い方については、手前味噌ですが下記の記事をご覧ください。 また、CNNって何?どういう仕組…

TensorFlow の ptb サンプルを動かす

TensorFlow で ptb を学習させるサンプルは Recurrent Neural Networks チュートリアルに記載されている通り、 github からソースを落としてきて、tensorflow/models/rnn/ptb に移動し、ptb_word_lm.py を動かすだけで簡単に動作させることができます。 ただ…

AWS の GPU インスタンスで TensorFlow を動かしてみた(2016.07)

前回は TensorFlow のチュートリアルを触ってみたわけですが、当然のごとく手元のノートPCではさほど速度を出すことができません。DNNをあつかう宿命としてGPU上で動作させることは避けては通れないものです。 というわけで、GPU で TensorFlow を動かすため…

TensorFlowでDNNをスクラッチするためのオレオレチュートリアル

はじめに Chainer もなんとなしに慣れてきたので(使いこなせているレベルではありませんが)、他のDNN Framework も触ってみようと思いたち、昨日からTensorFlowをいじってみています。 最終的なアウトプットは同じなので、クラス構造などが結構似通ってい…

GoogleのAIはどうやって「詩」を生成するのか

一ヶ月ほど前ですが、Googleの人工知能が「詩」を創りだしたという話が話題になりました。 wired.jp この話の元ネタは、[1511.06349] Generating Sentences from a Continuous Spaceで発表されている論文になります。この論文では、ベイズとDeep Learningを…