新規事業のつくり方

新しいことを学ぶことが好きです。今は機械学習や自然言語処理に興味があります。

カテゴリ: Pythonで機械学習

Universal Sentence Encoderは、文をベクトル化する手法です。

Googleの研究者達が開発したもので、2018年にTensorflow Hubで公開されました。
多言語に対応しているところが特徴で、日本語と英語で同じ意味なら、ほぼ同じベクトルに変換してくれます。
また、文中の単語の意味や語順を考慮した文章ベクトルを、ニューラルネットワークによるend-to-endな学習で獲得できるので、意味を解釈したベクトルに変換可能です。

関連記事:Python(gensim)と日本語Word2Vecで単語ベクトル可視化

続きを読む

テキストから画像を生成するAIは、「Text2Image」と呼ばれています。
今回は2021年に発表された、「Big Sleep」を試してみました。

BigSleepとは

「Big Sleep」は、「BigGAN」と「CLIP」を組み合わせたものです。テキストから画像を生成できます。Python向けライブラリとして利用できます。

BigGANとは

「BigGAN」は、1000カテゴリの画像を生成するモデルです。名前の通り、GANのネットワークを大規模化しています。DeepMindが開発しました。

2018年から「敵対的生成ネットワーク(GAN)」が流行りました。
GANは、「識別モデル」と「生成モデル」を互いに競い合わせることで精度を高めていく、教師なし学習です。生成モデルは、本物画像に似た画像を生成し、識別モデルが偽画像か本物画像かを見分けられるように学習していきます。BigGANはGANの発展形の一つです。

CLIPとは

「CLIP(Contrastive Language-Image Pre-training)」は、画像分類モデルです。画像とテキストの4億ペアを事前学習させています。OpenAIが開発しました。

学習方法としては、画像-テキストのペアのベクトルの内積を最大化し、ペアではないベクトルの内積を最小化するようにベクトルを調整していきます。その結果、画像からもテキストからも、その特徴を表現するベクトルを取得できます。
続きを読む

単語分散表現とは、単語の意味をベクトルで表現することです。単語埋め込み(Word Embedding)とも呼ばれます。単語を100~300の次元数で表現することが多いです。

単語分散表現の手法には、Word2Vec(2013年)やfastText(2016年)があります。これらの手法は、ある前提を置いて学習されています。
続きを読む

初心者向けにgensimとWord2Vecの利用方法と、類似単語の可視化を解説します。

Word2Vecは、自然言語処理の一つで大量のテキストデータを解析し、各単語の意味をベクトル表現をする手法です。単語の意味の近さや類似度などを計算することが出来ます。

Gensimとは

gensimは、統計的機械学習を使用した、教師なしトピックモデリングと自然言語処理のためのオープンソースライブラリです。無料で使えるPython向けライブラリです。

主な機能としては、fastTextWord2vecDoc2vec潜在意味解析(LSI/LSA)トピックモデル(LDA)TF-IDFなどです。ライセンスはLGPLです。

gensim公式:https://radimrehurek.com/gensim/index.html
続きを読む

ロジスティック回帰分析は、2値の分類モデルを作るアルゴリズムです。そして、分類結果の発生確率を予測できます。例えばある人が「ガンである確率 90%」 のような予測ができます。

また、モデルの中身を数式として理解できるので、ディープラーニングのようにブラックボックスになりません。つまり、どの説明変数がモデルの判定に重要かが人間でも分かります。

一方、ロジスティック回帰は、線形分離可能なクラスに対してのみ高い性能が発揮されます。非線形の問題はうまく学習できないという重回帰分析と同じ問題を抱えています。
加えて、ロジスティック回帰の説明変数は、数量データのみ利用可能です。カテゴリデータは基本的に推奨されません。

過去記事:ランダムフォレストで特徴量の重要度を評価する
続きを読む

↑このページのトップヘ