概要 背景・目的 関連研究 提案手法 実験 アルゴリズムの説明 順位相関の確認 定量評価 定量評価の内訳 定性評価 おわりに 参考文献 DROBEで機械学習エンジニアをしております、藤崎です。 概要 ファッションアイテムを特徴づけるための情報として、画像とテキストがある。これらは異なる情報を含んでいると考えられる。 類似のファッションアイテムを検索する場面で、画像とテキストの情報を両方活用することで、検索の精度を向上させることができると推測される。 類似のファッションアイテムを検索するタスクで、両方の情報を活用した提案手法の性能を評価し、片方の情報だけを活用するよりも、大幅に性能が改善すること…
はじめに Transformerアーキテクチャ 主要技術要素 Positional Encoding Self-Attention Multi-Head Attention ChatGPTの学習方法 ChatGPTの利用方法 はじめに 自然言語処理(NLP)は進化中の技術分野で、中心的な存在としてOpenAIのChatGPTがあります。 ChatGPTは、GPT-4のような自然言語モデル(LLM)を中心に動作しており、その基盤技術としてTransformerアーキテクチャが使用されています。 GPTやTransformerについて、仕組みの要点を簡潔に整理しました。 Transformerアー…
概要 背景・目的 実験 実験の概要 定量評価 定性評価 おわりに 参考文献 DROBEで機械学習エンジニアをしております、藤崎です。 概要 類似商品検索の基盤となる複数の特徴抽出アルゴリズムについて、DROBEの保有するデータで評価した 定量評価によると、画像単体を入力とする ResNet-50(自己教師あり学習)とCLIPの性能が高かった 定性評価によって、取り扱うモーダルの違いによる各モデル出力の顕著な差異が確認できた 背景・目的 小売において、商品の在庫は無数に存在しています。そのため、消費者やサービス提供者が商品に紐づく情報(画像、商品の説明文など)を解釈して、特定の商品と類似したアイ…
https://arxiv.org/pdf/1810.04805.pdf 0.目次 0.目次 1.やりたいこと 2.BERT(Bidirectional Encoder Representation from Transformers) 2.1.BERTの事前学習 Masked Language Model Next Sentence Prediction 2.2.BERTのファインチューニング 3.Transformersライブラリ 4.使用するデータセット 5.学習済みBERTを使用した感情分析モデルの構築(ファインチューニング) 5.1.ライブラリのインストール 5.2.BERTモデルと…
はじめに ファインチューニング、ばーっといってみよー! nikkieです えぬえるぴーやな素振り記事です。 チュートリアルに沿ってtransformersを使ってコーディングしました 目次 はじめに 目次 transformersのToken Classificationチュートリアル 動作環境 チュートリアルでの学び 単語で分割済みのデータセットのトークナイズ 単語単位の正解ラベルとのアラインメント Trainerインスタンスの初期化 終わりに transformersのToken Classificationチュートリアル こちらです。 Colabで開くリンクはこちら1 https://c…
BERTとは? 2018年にGoogleから発表された自然言語処理技術のひとつです。 自然言語処理というのは、人間の話ことばや言葉をコンピューターが分析処理する技術でコンピュータが人間の言葉を理解することです。 今はやりのChatGPTも自然言語処理の技術です。 BERTはBridirectional Encoder Representations from Transformersの略で、日本語だと「Transformerによる双方向のエンコード表現」と訳されます。 Transformerは構造なのでSEOのためだったら理解する必要はございません。 自然言語処理に興味がありよく会社で利用して…
はじめに 無敵級ビリーバー3周年👑👑👑 nikkieです。 「お休みの日にしかできないことを」と追求した結果、最近のお休みは開発合宿感があります。 今回は気になっていた技術、BERT-CRFを触りました。 目次 はじめに 目次 ずっと引っかかっていたBERT-CRF 『大規模言語モデル入門』6章「固有表現認識」 BERT-CRFクイックツアーの感想 書籍への感想 サンプルコードへの感想 終わりに ずっと引っかかっていたBERT-CRF BERT-CRFという技術は固有表現認識でなかなかよいと聞いていました1。 ただずっと「具体的にどう実装すればいいの?」というところがよく分かりませんでした。 …
BERTの論文の読み方のコツ User ChatGPT 関連の自分の記事 BERTの論文の読み方のコツ User 以下の論文を読むときの注意事項や、ポイントを教えて下さい。どのような手順で読めば理解できますか。BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding ここでは、論文の一般的な読み方ではなく、BERTの機能や構成や仕組について、具体的にどの部分をどの順番で理解すれば良いかなどをできるだけ具体的に教えて欲しいです。 ChatGPT BERTの論文を理解するための具体的な手順と重要…
自分の備忘録的な感じで雑にまとめます。やることは単純に自然言語からその文書のカテゴリーを分類するタスクです。テーマ的には新しいものでもなく、すでにたくさんの良記事がある分野なので、詳しく説明するというよりやったことと結果を淡々と書いていくという感じにしてます。 実験環境 データセットの確認 実験コード 結果 感想 実験環境 データセット:livedoorニュースコーパス 解くタスク:記事タイトルから9つのカテゴリーに分類するタスク マシンスペック:Nvidia Tesla T4 (VRAM = 16GB) Python:3.11.3 使用ライブラリ:以下 pyproject.tomlパッケージ…
BERTのソースコードは、どこにあるのか? 公式Google版は Pytorch版は コメント BERTのソースコードは、どこにあるのか? 公式Google版は github.com Pytorch版は 有名なのは github.com コメント 別の有効な情報とかあれば、是非!、教えて下さい。(なぞにコメントが得られない。。。はてなマジック。)
LLMの極めて高い表現力やAPI化&OSS化が進んで、昔ながらのNLPシステムにとってはおおよその個別タスクが解かれてしまったように思われているところがある。具体的にNLPシステムの設計や構成要素、役割がどのように変わったのか?さらにこれから変わっていくのだろうか?を、過去のシステムと対比する形で考えてみたい。 NLPモジュールの進化発展: 記号システムと機械学習システム 推論器としてのNLPのシステムの進化発展は、入出力データに対する「意味付け」「仮定」が弱まる方向に進化してきたといえる。人間が行なっている自由度の高い自然言語や対話プロトコルに従ったコミュニケーションを再現しようと、機械が意…
基盤モデル(Foundation Model)は、生成AI(Generative AI)の一部で、大規模な深層学習ニューラルネットワークです¹。これらのモデルは、膨大なデータセットに基づいて訓練され、データサイエンティストが人工知能(AI)をゼロから開発するのではなく、基盤モデルを出発点として、新しいアプリケーションをより迅速かつコスト効率よく強化する機械学習モデルを開発します¹。 基盤モデルは、一般化されたデータやラベル付けされていない幅広いデータに基づいて訓練され、言語の理解、テキストや画像の生成、自然言語での会話など、さまざまな一般的なタスクを実行できる機械学習モデルを表します¹。 基盤…
Rewrite-Retrieve-Readの論文[1]の構成で検索性能が改善するか試してみました。内容としては、RAGの内部で検索するときに、ユーザーのクエリを書き換えると性能が上がるという話です。ユーザーのクエリが検索に適しているとは限らないため、LLMで書き換えてから検索しようというアイデアになります。論文では、強化学習を使って書き換え用のモデルを学習する検証もしていますが、既存のLLMに書き換えさせても効果があるという結果になっています。 Rewrite-Retrieve-Readの構成。画像は[1]より。今回は真ん中の構成を採用。 本実験では、GPT-3.5 Turboを利用して、元の…
PythonのAttrDict: 辞書の属性アクセス 本記事では、Pythonでよく使われるデータ構造の一つである辞書(Dictionary)を、AttrDictクラスを使用することで属性アクセスを可能にする解説をします。AttrDictは辞書を拡張し、属性アクセスを提供することで、コードの可読性や使いやすさを向上させるための便利なツールです。(ライブラリもありますが、わかりやすくクラスを実装します。 AttrDictのメリット 属性アクセスの利便性: AttrDictを使用すると、辞書のようにキーを使って値にアクセスするだけでなく、ドット演算子を使って属性としてもアクセスできます。これにより…
近年、大規模言語モデル(LLM)の進化は、自然言語処理の分野において画期的な変化をもたらしています。とくに、OpenAIのGPT-4のようなLLMは、その応用範囲の広さと精度の高さで注目を集めており、多くの研究者や開発者が新たな利用方法を模索しています。本記事では、これらのLLMを活用したマルチクエリ生成が、文書検索の性能向上にどの程度効果があるかを検証します。 文書検索は、入力されたクエリに関連する文書を返してくれます。しかし、ユーザーが入力する単一のクエリでは、常に最適な検索結果が得られるとは限りません。そこで、LLMを用いてクエリを複数生成し、それらを組み合わせることで検索結果を改善する…
※この記事は、2023年11月に更新しました。 “永遠の妖精”・女優オードリー・ヘップバーンは、『ローマの休日』で一躍スターとなりました。しかし、このときはまだ新進女優。ヘップバーンの人気を不動のものとしたのが、次の主演作『麗しのサブリナ』です。 『麗しのサブリナ』は、NHKのBSプレミアムでテレビ放送されます。 この記事では、『麗しのサブリナ』の簡単なあらすじとキャスト、吹き替え版のDVDやブルーレイについてお伝えします。 映画『麗しのサブリナ』NHKのBSでのテレビ放送(2023)はいつ? ヘップバーンとの年齢差は? 『麗しのサブリナ』あらすじ【渋い長男とプレイボーイの次男のあいだで揺れる…
はじめに Google Cloud の YouTube Data API で YouTubeの Music Video(以下 MV)の様々なデータの取得と分析を試しています。 今回は海外からも関心の高いミュージシャン YOASOBI の「勇者」の Official Music Video の日本語コメントと外国語コメントを比較してみました。このMVの視聴回数はリリースしてから一月半の11月18日現在で、既に3,000万を超えています。「アイドル」ほどではないですが、かなりのスピードで増えています。YouTube Japanウィークリー楽曲ランキングで3位、曲はBillboard Global …
ChatGPTやGPT-4をはじめとする大規模言語モデルの能力が向上し、多くの注目を集めています。とくにRAG(Retrieval Augmented Generation)と呼ばれる手法を使って、手元のデータを生成時に活用する手法がよく使われていますが、その性能を改善する方法は様々あります。その中でも、この記事ではRAG内部の検索性能を改善するためのクエリ変換に着目し、HyDEと呼ばれる手法の効果を日本語の検索用データセットを使って検証した結果を示します。 記事の構成は以下のとおりです。 HyDEとは 実験設定 実験結果 実装の詳細 参考資料
Large Language Modelの略称で、「大規模言語モデル」と訳される。大量のデータを学習した高度な言語モデルで、さまざまな自然言語処理タスクの処理に優れている 膨大なデータを学習し、さまざまな形式のテキスト情報を生成する技術 LLM(Large Language Model・大規模言語モデル)は、生成AIの一種であり大量のテキストデータを使用してトレーニングされ、自然言語処理のタスクに対する高度な言語理解能力を持つAIモデルのことです。また、脳の神経回路の仕組みを模倣して考案されたニューラルネットワークを用いているため、非常に多くのパラメータを持つことも特徴です。 自然言語処理とは…
はじめにこんにちは、今回は、Googleが開発した生成AIを搭載した検索エンジンの機能であるSGEについてご紹介します。SGEとは、Search Generative Experienceの略称で、ユーザーが入力したクエリに対して、生成AIが情報を要約し、検索結果として提示してくれる機能です。 SGEの特徴やメリットは何でしょうか?どのように使えばよいでしょうか?この記事では、SGEについて詳しく解説します。ぜひ最後までお読みくださいね!目次 1. SGEの特徴 2. SGEのメリット 3. SGEの使い方 4. まとめ 5. 参考文献 1. SGEの特徴SGEの特徴は、以下の通りです。1-1…
はじめに むん!(シャニアニ1幕見ました) nikkieです 以前sentence-transformersを使ってテキストをembeddingsに変換しました。 再度触ってみたところ、「わずか数行のコードで何をやっているんだろう?」と気になり、実装を追いかけました。 目次 はじめに 目次 sentence-transformersのコードは何をやっている? SentenceTransformerの初期化 _load_sbert_modelメソッド Transformerの読み込み Poolingの読み込み Normalizeの読み込み encodeメソッド tokenizeメソッド forw…
こんばんは。 本日は、AIによる推理小説の謎を作成したり解いたりすることについて解説していただきました。 以下AIによる解説 推理小説の謎を解くためにAIを使う手法 推理小説とは、犯罪や事件の真相を探る過程や結果を描いた小説のジャンルです。推理小説の魅力は、読者が登場人物や作者とともに謎に挑戦し、論理的に推理することで、知的な楽しみや驚きを得られることにあります。 しかし、推理小説を書くのは簡単ではありません。謎やトリックを考えるのはもちろん、それらを物語に組み込み、読者の興味を引きつつ、納得させるように展開するのは、高度な創作力と技術が必要です。そこで、AIを使って推理小説の謎を解く手法が注…
皆さんこんにちは。 機械学習エンジニアのwsatingです。 最近openAIが公開したAssistant APIでこれまで以上にRAGが簡単にできるようになってきましたね。 そんな最近の潮流から逆行(?)して今回はRetrieveでよく使われるsentence BERTのfine tuningに使われるTripletをpolarsで作る話をしたいと思います。 Triplet Loss、Tripletとは Sentence BERTの学習に用いるLossの一つであるTriplet Lossというものがあります。詳細は省きますが、 - anchor - positive - negative の…
日本語でのキーワード検索とベクトル検索に対して、検索結果のリランキングを適用して性能を評価してみました。 リランキングとは? 文書検索では検索クエリにマッチングした文書を順位付けして返しますが、その結果を何らかのモデルを使って並び替えることをリランキングと呼びます。このようなモデルを使って並び替えることで、検索結果の上位により適した文書が表示され、結果としてビジネス上のKPIの向上に繋がることが期待されます。典型的な構成は以下のとおりです。 典型的な構成 リランキング自体は必ずしも機械学習を使ったり、テキストだけを入力として使う必要はありませんが、今回は検索クエリと検索結果の文書をリランキング…
予定 自然言語処理 16h 引き続きアリシアソリッドさんのNLPの動画、手元にあるNLPの本を参考にしてTransformerやBERTの理解を進めて、kaggleのLLMコンペに参加する。 修論 16h とりあえずモンテカルロ法の実装 ゼミ、ゼミ準備と復習 12h 今週はHeston本の発表 機械学習のためのカーネル法 12h 出来れば3章まで講義動画を見る 結果 月~水(水曜日の夜に記録) 木, 金(金曜日の夜に記録) 土, 日(日曜日の夜に記録) Total (日曜日の夜に記録)