はじめに VAE、変分オートエンコーダのVAEです。機械学習のネットワークの一つです。 これを読まれている方は、VAEについて多少以上は御存じであるという前提でお話します。 VAEとは、端的に言えば特徴を潜在変数を介した表現に起き換える手法です。 潜在変数というのは、正体不明だがその入力を決定づける何らかの変数、といった感じに理解していればOKだと思います。 表に顕在していない、その入力を決定づける何かを、まず0まわりの値を取る自然な乱数的なサムシングとして仮定し、オートエンコーダで絞ったときの最低限の特徴がその0まわりの乱数的なサムシングのみで成り立つように設計するということです。 これ以上の詳しい説明は他に譲ります。参考としてはこちらが有名かと。 Variational Autoencoder徹底解説 VAEがこんなことできるって知ってた? ところでこの画像、何かわかりますか。 実はこ
東京大学松尾豊研究室のメンバー中心に、講義を行っている深層強化学習 スプリングセミナー2023の第6回目の前半の講義である「基盤モデルとロボティクス」の講義資料を改変した資料です。(講義は2023/3/3に実施) 本講義では、最近話題の『ChatGPT』等にも使用されている『基盤モデルやTransformer』についてお話し、基盤モデルをロボティクスへの活用事例や今後の展開についてもお話ししました。 演習(ハンズオン)ではGPT2,CLIP,Whisperを取り扱っています。 本講義資料は、深層強化学習 スプリングセミナー2023の第6回目の前半60分の講義資料がベースになっています. https://deeplearning.jp/drl-course-2023sp/ 本講義の到達目標: ・基盤モデルやTransformerの概要を理解する ・基盤モデルとロボティクスの研究事例を把握し、
2023年3月7日 DEIM2023 (https://event.dbsj.org/deim2023/) における技術報告の資料です。 題目:『 LayerXにおける機械学習を活用した請求書OCR機能に関する取り組み』 日程:3/7(火)13:30-15:40(4a-8: 画像認識2) 発表者:松村 優也、吉田 陽祐 プログラムリンク:https://deim-management-system.github.io/deim2023_program/index.html#4a-8 LayerX は「働く」に関わる様々な業務プロセスが紙とハンコを中心としたアナログで非効率なものとなっているという課題を、テクノロジーをもとに解決するために複数のプロダクトを開発・運営している。その中のひとつ「バクラク請求書」では、アップロードされた請求書ファイルから自動で必要な情報を抽出しデータ化するOCR機
Zero-effort type safety More convenience and correctness, less boilerplate Simon Holthausen Mar 9 2023 By sprinkling type annotations into your SvelteKit apps, you can get full type safety across the network — the data in your page has a type that's inferred from the return values of the load functions that generated that data, without you having to explicitly declare anything. It's one of those t
# In recent years, laptops have become thinner and all of their I/O ports have started disappearing. However, to solve this, along came dongles and docks. Image source - arstechnica # Guidemaster: Picking the right Thunderbolt 3 or USB-C dock for your desk USB-C docks like these are now seen all over offices, especially in “hot desk” environments, allowing an employee to sit down at any desk, plug
In 2017, we wrote a blog post on how we store billions of messages. We shared our journey of how we started out using MongoDB but migrated our data to Cassandra because we were looking for a database that was scalable, fault-tolerant, and relatively low maintenance. We knew we’d be growing, and we did! We wanted a database that grew alongside us, but hopefully, its maintenance needs wouldn’t grow
If you’re only interested in seeing or playing the game, you can find it on my GitHub. The occasion The Haskell Tiny Game Jam is a game jam which challenges participants to write a video game in Haskell using 10 lines of 80 characters. I happen to love Haskell and code golf (abusing a programming language to produce disgustingly short code for fun) so I decided to enter the Feb ‘23 jam. My journey
最近はMBSDでWebアプリケーションスキャナの開発をしている寺田です。 Webアプリケーションを開発していると、セキュリティの観点でURLをチェックしなければならないことがしばしばあります。本日の記事では、そのようなURLのチェックを如何に行うか、正規表現を使う場合の注意点や、バイパス方法などについて書きたいと思います。 本記事で想定するのは、ブラウザからパラメータとして来るURLをチェックしてリダイレクトやリンクのURL等として使ったり、ブラウザから来たOriginヘッダ等のURLをチェックしてアクセス制御をするケースです。その中でも、以下のようにサブドメイン部分(★の部分)を可変にする状況を主に想定します。 https://★.example.jp/… よく使われてそうなチェック用の正規表現と、そのバイパスは以下のとおりです。 正規表現: ^https://.+\.example\.
割とよくある構成かなと思いますが、私たちは主に "ドキュメント管理の難しさ"と"共有リソースの管理コスト"、"分業制によるチーム内の分断" に課題感を持っていました。それぞれの問題とそれらが解決されどのようになったかを詳細に見ていきましょう。 抱えていた問題とMonorepo移行後 私たちが抱えていた問題がmonorepo移行によってどのように解決されたかをまとめます。 ドキュメントが分散して探しにくい問題 Before プロジェクトに関するドキュメントが複数のリポジトリに分散するためにドキュメントの検索性や一覧性が低下しており、私たちのプロジェクトについて知りたい人が情報を探すのが難しい問題がありました。他方で、私たち自身も、どこに情報を残すかで迷うことも少なくありませんでした。 After プロジェクトに関する情報が1つのリポジトリに集約されたため、ドキュメントの探しやすさが向上しまし
Bazelは大規模なプロジェクトでも高速にビルドすることができる強力なビルドツールとして知られています。一方で、その仕組みや実際に使用する方法についての紹介されることは少なく、まだまだあまり普及していないと思います。特にNode.js/TypeScriptをBazelでビルドする方法についての解説はかなり珍しいと思います。 この本ではBazelによるビルドがなぜ高速なのか基本的な原理の説明から、実際に自分が作成したサンプルコードを使用してTypeScriptプロジェクトのビルド、Dockerイメージの作成までのコードを解説をし、最後のBazelの大きな特徴であるリモートキャッシュを実際に使う方法まで紹介します。 ぜひhttps://github.com/Kesin11/bazel-playgroundを手元にcloneして頂き、実際に動かしながらBazelによるビルドを体験してみてください
Everything you need to know about monorepos, and the tools to build them.- Made with love by Nrwl (the company behind Nx) Understanding Monorepos Monorepos are hot right now, especially among Web developers. We created this resource to help developers understand what monorepos are, what benefitsthey can bring, and the tools available to make monorepo development delightful. There are many great mo
AI 組織のモノレポ紹介 はじめに こんにちは、西原です。AI Lab の MLOps チームでエンジニアとプロダクトオーナーを兼任しています。私たちは、日々機械学習(ML)の成果を素早くシステムに取り入れ、安定した運用を実現するための仕組み作りに取り組んでいます。この一環として 2022 年秋からはモノレポ構成での開発に移行しました。モノレポの採用背景やモノレポでの取り組みについて紹介します。 TL;DR 車輪の再発明を防ぎ、開発効率を向上することを目的にモノレポへ移行 モノレポのビルドシステム Pants を使って、異なる Python バージョンのプロジェクトを管理 モノレポ移行によって開発効率の向上を実感しており、今後もモノレポの運用と改善を継続していく AI 組織のモノレポ紹介 はじめに TL;DR モノレポの概要 モノレポに移行するまで Pants とは モノレポへの移行 移行
安定版リリースのドキュメントについては、[バージョニングされたドキュメント] プルダウンを使用してください。デフォルトのビューには HEAD の最新バージョンが表示されます。
Bazelの特徴2:ビルドによってディレクトリを汚染しない Bazelでは、ソースコードやテストデータなどが格納されているディレクトリとは別のディレクトリでビルドやテストなどを行う仕組みになっている。makeコマンドでは意図的に設定や操作を行わない限りソースコードと生成物が同じディレクトリに混在する事態になることが多いが、Bazelではこういった問題が発生しない。 また、ビルドやテストはデフォルトではサンドボックス化された環境で行われるため、ビルドやテストがそれを実行しているシステムに影響を及ぼす可能性が最小限に抑えられている。 Bazelの特徴3:並列ビルド 大規模なソフトウェアではビルド対象が増えるため、ビルドにかかる時間も増える傾向がある。Bazelでは生成物どうしの依存性を自動的に把握し、可能な限り並列でビルドを実行する仕組みになっている。これにより、ビルド時間の短縮が期待できる。
LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog こんにちは。LINEの小林滉河(@kajyuuen)です。NLPチームで固有表現抽出、有害表現の検知、LINEスタンプ推薦の改善など自然言語処理に関する仕事をしています。 この記事ではLINEが公開した言語モデル「LINE DistilBERT」について紹介します。 https://huggingface.co/line-corporation/line-distilbert-base-japanese https://github.com/line/LINE-DistilBERT-Japanese LINE DistilBERTは次のような特徴を持つ日本語言語モデルです。 高性能・高速・軽量 Hugging Faceのtra
問題文N 個の文字列 S _ 1,S _ 2,\ldots,S _ N が与えられます。 S _ i\ (1\leq i\leq N) は英小文字からなる長さ 10 以下の空でない文字列で、互いに異なります。 先手太郎君と後手次郎君がしりとりをします。 このしりとりでは、先手太郎君と後手次郎君の手番が交互に訪れます。 はじめの手番は先手太郎君の手番です。 それぞれのプレイヤーは自分の手番において整数 i\ (1\leq i\leq N) を 1 つ選びます。 このとき、i は次の 2 つの条件を満たしていなければなりません。 i は、しりとりが開始してからこれまでの 2 人の手番で選ばれたどの整数とも異なる この手番がしりとりの最初の手番であるか、直前に選ばれた整数を j として、S _ j の最後の文字と S _ i の最初の文字が等しい 条件を満たす i を選べなくなったプレイヤーの負
031 - VS AtCoder(★6) Editorial / Time Limit: 3 sec / Memory Limit: 1024 MB 問題文 あなたは、人気番組「VS AtCoder」に「チーム競技プログラマー」として参加しました。 この番組の最終ゲーム「リムービングストーン」のルールは、次の通りです。 ルール1 N 個の山が横一列に並んでいる。左から i 番目の山には、白石が W_i 個、青石が B_i 個ある。 ルール2 先攻から交互に、以下の操作を行わなければならない。 白石が 1 個以上または青石が 2 個以上ある石の山を 1 つ選び、次の操作のうちいずれか一方のみを行う。ただし、選んだ山にある白石と青石の個数をそれぞれ w, b とする。 [w \geq 1 のとき選択可能] 選んだ山に青石を w 個加え、白石を 1 個取り除く。 [b \geq 2 のとき選択可
競技プログラミングなどで頻出のテーマである組み合わせゲームやGrundy数についてまとめました。 前半は全ての方に向けての内容で、プログラム例や競技プログラミング特有の話題については後半にあります。 組み合わせゲームとは 組み合わせゲーム(Combinatorial games)とは以下のような特徴を持った二人で行うゲームのことを言います。 確定:ランダム性がない完全情報:全ての情報が全てのプレイヤーに公開されている 組み合わせゲームの例 以下のような多くのゲームが組み合わせゲームに分類されます。 オセロ将棋チェス囲碁Nim… これらのどれもが、二人で行うゲームで、確定であり完全情報でもあります。 特殊な組み合わせゲーム 組み合わせゲームの中でも特殊な性質を持つものは名前がついており、解析がしやすいものがいくつかあります。 二人零和有限確定完全情報ゲーム 組み合わせゲームに以下の性質がつい
ynaga@iis.u-tokyo.ac.jp 1/2 1/20 1,000,000 / C++ 1000 http://www.tkl.iis.u-tokyo.ac.jp/∼ynaga/jagger 1 Twitter Zoom, Slack [1] GPU [2, 3] [4, 5] ( ) () (MeCab, Vaporetto) MeCab 15 Vaporetto 10 (M2 MacBook Air 1,000,000 /) 2 [6] ( ) [7, 8] [9, 10] [11] ― 351 ― 言語処理学会 第29回年次大会 発表論文集 (2023年3月) This work is licensed by the author(s) under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Algor
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く