並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 1466件

新着順 人気順

algorithmの検索結果321 - 360 件 / 1466件

  • 最強将棋AIが新境地へ、DeepMindのAI「AlphaTensor」が50年以上停滞していた行列乗算アルゴリズムの改良に成功

    囲碁世界チャンピオンを打ち負かしたDeepMind製のAI「AlphaGo」は度重なる機能強化によってチェスや将棋などあらゆるボードゲームへの対応を果たしました。新たに、AlphaGoの系譜を受け継ぐAI「AlphaTensor」が「行列の積を計算する最適な方法を求めるゲーム」に挑み、行列の積を計算する未発見のアルゴリズムを導き出すことに成功しました。 Discovering faster matrix multiplication algorithms with reinforcement learning | Nature https://doi.org/10.1038/s41586-022-05172-4 Discovering novel algorithms with AlphaTensor https://www.deepmind.com/blog/discovering-no

      最強将棋AIが新境地へ、DeepMindのAI「AlphaTensor」が50年以上停滞していた行列乗算アルゴリズムの改良に成功
    • 最近またLinux用の日本語IMEを作っている - tokuhirom's blog

      最近またLinux用の日本語IMEを作っている 本件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます https://github.com/tokuhirom/akaza かな漢字変換って作るの難しいのかなぁ、と思ったので作ってみている。これはまさに Just for Fun でやっている。 わりと普通に自分で常用してる分には困らないかな、というところまできている。 以下は、思ってることの垂れ流しという感じで、まとまってないですが。 「日本語入力を支える技術」という本が 2018年に出ていて、この本の内容を読めば、だいたいエンジン部分は実装できる。Amazon のレビューではこの本よんでも実装できないって書いてあるけど、変換エンジン自体は実装できます。 UI が辛い。けど。 エンジンは、ビタビア

      • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

        技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

          Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
        • AI Agentフレームワークを使うべきなのか?

          こちらはLayerX AI エージェントブログリレー41日目の記事です。 こんにちは、CEO室でAI Agent開発のPdMをしているKenta Watanabeです。 AI Agent開発に取り組んでいる方や自分用の効率化ツールを開発したりしてLLMで遊んでいる方は何かしらのAgentフレームワークを利用されている方が多いのではないかと思います。LayerXでもAI SDKなどのフレームワークが社内で利用されています。本日はAgent開発の試行錯誤を通して得られたAgentフレームワーク選びの参考になるような考え方を紹介できればと思います。 Agentフレームワーク戦国時代 ここ数年はAgentフレームワーク戦国時代と言えるほどたくさんのフレームワークやSDKが開発され利用されているのではないかと思います。各LLM ProviderはLLMを利用するためのHTTP EndpointとSD

            AI Agentフレームワークを使うべきなのか?
          • 量子コンピュータでも解読できない暗号技術、東大らが開発

            東京大学と九州大学マス・フォア・インダストリ研究所、日本電信電話(NTT)の研究チームは11月24日、量子コンピュータでも解読できない新たなデジタル署名「QR-UOV署名」を開発したと発表した。 この署名は、既存の技術よりも署名と公開鍵のデータサイズが小さいのが特徴。多項式の割り算の余りを使って新しい足し算や掛け算ができる代数系「剰余環」を公開鍵に使うことで、安全性とデータの軽減を両立しているという。 現在普及している暗号技術には、 Webブラウザに使われる「RSA暗号」や、画像の著作権保護や暗号資産に使われる「楕円曲線暗号」がある。これらは、大規模な量子コンピュータが実現した場合、解読されるリスクがあるという。そのため、量子コンピュータが大規模化した時代でも安全に利用できる技術の開発が進んでいた。 中でも、1999年に提案され、20年以上にわたり本質的な解読法が報告されていない「UOV署

              量子コンピュータでも解読できない暗号技術、東大らが開発
            • LLMでソート - ジョイジョイジョイ

              ソートはコンピュータサイエンスにおける古典的なタスクですが、これが最先端の LLM と結びつき、新たな研究の潮流が生まれています。 ソートは比較関数さえ定義すれば実行することができます。従来の比較関数は身長・金額・距離のように測定可能な数値の比較を前提としていましたが、この比較関数内で LLM 呼び出しを行うことで「どちらが好みか」「どちらが優れているか」「どちらがクエリに関連するか」といった主観的で曖昧な概念を比較でき、これらの概念に基づいたソートが可能になります。 Python では、二つのオブジェクト a と b を受け取り、a を前に持ってきたければ -1 を、b を前に持ってきたければ +1 を出力する関数 cmp を実装し、functools.cmp_to_key(cmp) をソートのキーに設定すれば任意の基準でソートできます。 まずは雰囲気をつかむために応用例を見てみましょう

                LLMでソート - ジョイジョイジョイ
              • Google Cloud 上で 100 兆桁の円周率を計算 | Google Cloud 公式ブログ

                ※この投稿は米国時間 2022 年 6 月 8 日に、Google Cloud blog に投稿されたものの抄訳です。 記録は破るためにあります。2019 年、Google は 31 兆 4000 億桁の円周率を計算し、当時の世界記録を樹立しました。そして 2021 年には グラウビュンデン応用科学大学 の科学者が、さらに 31 兆 4000 億桁上回る計 62 兆 8000 億桁を計算しました。そして本日、Google は100 兆桁の円周率を計算し、世界記録を更新したことを発表します。 Google Cloud を使って円周率の桁数の世界記録を更新1するのは今回で 2 度目で、わずか 3 年で桁数を 3 倍に伸ばしました。 この新記録は、 Google Cloud のインフラストラクチャが年々高速化していることの証とも言えます。記録達成の背景には、 Google Cloud の安全でカ

                  Google Cloud 上で 100 兆桁の円周率を計算 | Google Cloud 公式ブログ
                • ベクトル検索システムの気持ち

                  2025.03.25

                    ベクトル検索システムの気持ち
                  • オセロAI世界1位になってオセロAIをカンゼンニリカイシタ話 - Qiita

                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? オセロAIを作り始めた日のこと あれは2021年4月のこと、今思い返せば偶然が重なって起きた出来事でした。 第一の偶然は、ゲームAI(ゲームを自動プレイするAI)世界4連覇の方になぜかゲームAIの初歩的な話を30分程度教わっていたことです。 第二の偶然は、Twitterの知り合いが「オセロソフトRTA」なる競技をやっているのを目にしたことです。なんじゃそりゃ、と思った私はすぐに、その競技が 「オセロで遊ぶプラットフォームをどれだけ早く作るか」を競うものだとわかりました。 面白い、やってみよう。 YouTubeでライブ配信しながら、私はオ

                      オセロAI世界1位になってオセロAIをカンゼンニリカイシタ話 - Qiita
                    • 東大、これまでに解かれたことのない次元の暗号解読を実現

                        東大、これまでに解かれたことのない次元の暗号解読を実現
                      • strlen() の深淵 - Qiita

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                          strlen() の深淵 - Qiita
                        • テスラの車載カメラ、「偽の壁」に騙され、盛大に突っ込む | 自動運転ラボ

                          ■カメラ VS. LiDARRober氏はNASAで勤務経歴を持つエンジニアMark Rober氏は、NASAの研究所で火星探査車開発などに携わった経歴を持つエンジニアで、2011年にYouTuberとしての活動を開始した。チャンネル登録者数 6,550万人を誇る人気で、科学系・イタズラ系動画を中心にアップしている。 2025年3月16日にアップした「自動運転車を欺けますか?」では、LiDAR技術に注目したコンテンツを製作している。前段では、真っ暗で先が見えないディズニーのスペースマウンテンに乗車し、懐に隠し持ったLiDARで建物内をマッピングした様子を公開している。 後段では、自動車に搭載されたLiDARに話題を移し、Rober氏が所有するテスラのカメラがLiDARを搭載した高級車にどれだけ対抗できるかを確認する実験の様子を公開した。 テスラ「Model Y」とLiDARを搭載したレクサ

                            テスラの車載カメラ、「偽の壁」に騙され、盛大に突っ込む | 自動運転ラボ
                          • 自然言語系AIサービスと著作権侵害|知的財産・IT・人工知能・ベンチャービジネスの法律相談なら【STORIA法律事務所】

                            第1 はじめに 自然言語処理技術の発展に伴い、自然言語AIを利用したサービスが大変盛り上がっています。 たとえば、検索、要約、翻訳、チャットボット、文章の自動生成、入力補完などのサービスで、近いところで有名なのは、2020年にOpenAIが発表した「GPT-3」ですかね。これは約45TBにおよぶ大規模なテキストデータを学習し、あたかも人間が書いたような文章を自動で生成することが可能な自然言語モデルです。 【参考リンク】 自然言語処理モデル「GPT-3」の紹介 進化が止まらない自然言語処理技術ですが、事業者が自然言語AIを利用したサービス(*ここでは、データの処理がクラウド上で自動的に行われるサービスを前提とします)を提供する際に検討しなければならないことは、大きく分けると、学習済みモデルの構築フェーズの問題と、モデルを利用したサービス提供フェーズに関する問題に分かれます。 このうち、モデル

                              自然言語系AIサービスと著作権侵害|知的財産・IT・人工知能・ベンチャービジネスの法律相談なら【STORIA法律事務所】
                            • 世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita

                              2021年、ふとしたきっかけでオセロAIを作り始め、オセロAIコンテストに作ったAIを提出し、なんやかんやあって半年かけてそのコンテストで世界1位になりました。 それで満足…?と思いきや、全然満足せず、コンテスト関係なしにオセロAIを作って早3年。この記事ではオセロAIが色々なところに私を連れて行ってくれた話と、オセロAIが深いという話をします。 この記事は2年ほど前に書いていっぱい読んでいただけた以下の記事「カンゼンニリカイシタ話」の続編、みたいな立ち位置です。単体で読んでも、以下の記事と合わせて読んでも楽しめます。 世界1位からさらに高みを目指す 私が参加したオセロAIのコンテスト(CodinGame Othello)は、コンテストという特性上、かなり厳しい制約が設けられていました。例えば着手する時間です。これは1手あたり0.15秒以下でないといけません。また、コード長にも制限があり

                                世界1位取った後3年間オセロAIを作り続けたらナニモワカラナクなってチョットダケデキルようになった話 - Qiita
                              • 五次元チェスのもう少し詳しい話 - 小文化学会の生活

                                五次元チェス、あるいは5D Chessというゲームがある。正式には5D Chess With Multiverse Time Travelという名前だ。 2020年の7月にリリースされたこのゲームは、日本語でもいくつかの紹介記事*1*2*3*4 が書かれ、Twitterでも何度か見かけた記憶があるので、それで知った人も多いのではないだろうか。 おそらく、ほとんどの人はこのゲームのコンセプトを知って面白いなと思い、しかし、それだけだっただろう。数%の人は購入を検討したかもしれないが、実際に購入したのは私のようなよっぽどの物好きだけに違いない。 これはいたって自然な流れであり、ネットではよくある話だ。しかし、実際に購入して遊んでみた結論として、このままで終わらせるのは少しもったいないなと私は思った。だから今この記事を書いている。要するに、この記事の目的は、もう少し詳細に五次元チェスを紹介するこ

                                  五次元チェスのもう少し詳しい話 - 小文化学会の生活
                                • VFXと色収差

                                  この世界には電磁波(Electromagnetic waves)という、空間を伝わるある種のエネルギーの波があることが知られています。 電磁波には波長(Wavelength)というものがあります。文字通り、「波の長さ」です。これは波が一回振動したときの距離で、山から山、または谷から谷までの長さということになります。 さまざまな波長の電磁波があります。電磁波の波長の単位はm(メートル)ですが、波長が数千km(キロメートル)に及ぶものから、十億分の1mm(ミリメートル)以下のものまで、さまざまな種類があります。 ひょっとすると電磁波という呼び方をしないので、気づいていないかもしれませんが、電磁波はとても身近なものです。たとえば……。 ・ラジオやテレビ、Wi-Fi、Bluetooth、レーダーなどの「電波」も電磁波 ・電子レンジで食べ物を温める「マイクロ波」も電磁波 ・病院でレントゲン写真を撮る

                                    VFXと色収差
                                  • 「Google フォト」に新方式のシャープ・ノイズ除去 ~ほぼどんな画像もきれいに/カメラデバイスに依存しない、新しいアプローチ

                                      「Google フォト」に新方式のシャープ・ノイズ除去 ~ほぼどんな画像もきれいに/カメラデバイスに依存しない、新しいアプローチ
                                    • 生成AI時代のドキュメント基盤

                                      本項はFindy様のイベント 仕様駆動開発(Spec-Driven Development) Lunch Talk で発表した発表原稿を、加筆修正したものになります。 スライドはこちら 生成AI時代のドキュメント基盤 - Docswell 生成AI、活用されていますか? 生成AI、活用されていますか? 私はもう毎日、どっぷりつかっています。 仕様駆動開発にも注目 そんな中、仕様駆動開発も注目を集めてきました。 AWS - Kiro GitHub - Spec Kit Fission-AI - OpenSpec gotalab - cc-sdd ドキュメントの重要性 生成AIの活用が進み、ドキュメントの重要性が再認識されています。 これらの仕様駆動開発ツールの登場は、ドキュメントの重要性が増していることのひとつの表れだと解釈しています。 ドキュメントの2つの課題 これはあくまで私個人の考えで

                                        生成AI時代のドキュメント基盤
                                      • BudouX: 読みやすい改行のための軽量な分かち書き器

                                        .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                          BudouX: 読みやすい改行のための軽量な分かち書き器
                                        • アニメーションをスムーズに見せるためのテクニック「指数平滑法」とはどんなものなのか?

                                          グラフィック系の開発者であるニキータ・リシッツァ氏が、「自身のプロダクトのあらゆる場所で使用している」と述べるお気に入りのテクニックである「指数平滑法」について解説を投稿しました。 My favourite animation trick: exponential smoothing | lisyarus blog https://lisyarus.github.io/blog/programming/2023/02/21/exponential-smoothing.html リシッツァ氏は下図のようなトグルボタンを例に解説を行っています。クリックすると「オン」「オフ」が切り替わります。まだアニメーションを何も設置しておらず、トグルボタンは左端と右端を瞬間移動しています。 機能的にはアニメーションが設定されていなくとも問題はないのですが、アニメーションを設定することでユーザーは何が起こって

                                            アニメーションをスムーズに見せるためのテクニック「指数平滑法」とはどんなものなのか?
                                          • malloc.c を読む (malloc / free)

                                            このシリーズではこれらの関数が内部でどのように処理されるのかを調べていきます。 malloc.c を読む (malloc / free) malloc.c を読む (bins) malloc.c を読む (arena) 今回は malloc() free() の全体像を紹介します。 注意としてここでの目的は全体を俯瞰して、詳細を詰めずとも各 bins の役割を理解し、攻撃手法を理解できるようにすることです。それに合わないマルチスレッドや最適化などにおける緻密なトリックやコーナーケースなどは暗黙的に実装されていると仮定します。その詳細についてはソースコードや他の資料を参考にしていただきたいです。 ここで扱う glibc のバージョンは v2.38 です。また glibc のソースコードはブラウザ上で読むことができます。 https://elixir.bootlin.com/glibc/lat

                                              malloc.c を読む (malloc / free)
                                            • AIを生産性向上ではなく賃金抑制のためのツールと考えてみると - YAMDAS現更新履歴

                                              www.bloodinthemachine.com ブライアン・マーチャントが Why We Fear AI の共著者である Hagen Blix にインタビューしているのだが、これがすごく面白いので紹介しておきたい。 彼が指摘するのは、「AIが人間の労働を全て自動化する」という AI 企業の奇妙な約束である。そんなわけないのに、どうして AI 企業はそれを売り込むのか? それが経営者層の受けが良いからだ。 これはワタシも「生成されたAIビジネス、OpenAIと「AGIというナラティブ」」や「「AIファースト」と「人間ファースト」は両立しうるか?」などで取り上げたテーマだが、Hagen Blix は以下のように語る。 そして、我々は明確に理解するわけだけど、これは第一に生産性の問題じゃないんだ。一部はそうかもしれない、多分ね。多くの研究が、生産性の向上は起こらないと言っている。でもね、我々

                                                AIを生産性向上ではなく賃金抑制のためのツールと考えてみると - YAMDAS現更新履歴
                                              • クリック率を最大化しない推薦システム

                                                セレンディピティのある推薦、多様性のある推薦、コンテンツ生産者を配慮した推薦など、クリック率の最大化(だけ)を目指さない推薦システムについての紹介です。 連絡先: @joisino_ (T…

                                                  クリック率を最大化しない推薦システム
                                                • 共同編集を支える技術とライブラリの活用 - ICS MEDIA

                                                  『Google Docs』や『Figma』といったリアルタイムな共同編集ツールの恩恵を受けている人は数多くいるでしょう。『Visual Studio Live Share』のようなエンジニアに嬉しいツールも生まれ、今日ではオンライン上でも円滑なコミュニケーションが可能になっています。 これらのツールの基礎にあるのが「共同編集」のテクノロジーです。本記事ではこの技術に焦点を当て、その仕組みと主にフロントエンドでの実用例について紹介します。 記事の前半では、リアルタイムな共同編集に用いられる技術やアルゴリズムについて、発展の歴史とあわせて紹介します。解説用のコードにはJavaScriptおよびTypeScriptを使用しますが、フロントエンドエンジニアに限らず共同編集の仕組みについて気になる読者が知識を深めるきっかけとなるはずです。 さらに後半ではフロントエンドの開発者目線で、前半で紹介した技

                                                    共同編集を支える技術とライブラリの活用 - ICS MEDIA
                                                  • 数式を使わないTransformerの解説(前編) - conceptualization

                                                    2023/3/23 追記: こちら半年以上前に執筆したもので、その後私の理解も進んで内容的に更新したいところが結構あるため、近日中に非公開とさせていただき,更新後に再公開させていただくつもりです。現時点での本記事の内容は、大きく間違ってはいないけどちらほら微妙なところがあるという感じです。 (ざっくり理解するだけでも良いという人にはそれでも良いかもしれませんが、そういう方向けには 今執筆中のこちらの記事 をおすすめします。) −−−− 最近話題のmidjourneyやDALL-E、凄いですよね。中身はディープラーニング(DNN)のようです。DNNといっても色んな技術がありますが、それらにはTransformerという手法が使われています。本記事は、その手法がどんなものであるかを数式を使わずに説明してみよう、という主旨になります。 ※なお本記事は機械学習のプロの研究者ではない私の独自の解釈が

                                                      数式を使わないTransformerの解説(前編) - conceptualization
                                                    • GPTとは何か Transformerの視覚化 | Chapter 5, Deep Learning

                                                      この動画は3Blue1Brownの動画を翻訳・再編集し公式ライセンスのもと公開しているものです。 チャンネル登録と高評価をよろしくお願いいたします。 翻訳: Ufolium ufolium.comでは、線形代数や基礎解析のシリーズをはじめ様々なトピックを解説する、中学から大学までの数学のコースを提供しています! https://ufolium.com 日本語版Twitter https://twitter.com/3B1BJP 元チャンネル(英語) https://www.youtube.com/c/3blue1brown 元動画(英語) https://youtu.be/wjZofJX0v4M Richard Turner's introduction is one of the best starting places: https://arxiv.org/pdf/2304.10

                                                        GPTとは何か Transformerの視覚化 | Chapter 5, Deep Learning
                                                      • 「DIは必ずしも善ではない」| Dependency injection is not a virtue by DHH

                                                        DHHの Dependency injection is not a virtue(2013) という記事は有名ですが、ちゃんとした日本語訳が意外とないようなので、書き出してみて思ったことを要約してみた。[1] Rubyのエンジニアの中には、何も考えずに他のモデルのnewを書いてる人の割合が多いという(コードレビュー時のヒアリングによる)体感があり、また8年前の記事なので経験の浅い人は読んだことがない人もいると思う。該当する方は是非読んでほしい。 全部読む時間が無い人は要約へ. 原文と訳文 In languages less open than Ruby, hard-coded class references can make testing tough. If your Java code has Date date = new Date(); buried in its guts,

                                                          「DIは必ずしも善ではない」| Dependency injection is not a virtue by DHH
                                                        • 「速く計算するには多くのメモリが必要」という50年来の常識を覆す? 米MIT教授が新理論 査読前論文を発表

                                                          このコーナーでは、2014年から先端テクノロジーの研究を論文単位で記事にしているWebメディア「Seamless」(シームレス)を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 X: @shiropen2 米国マサチューセッツ工科大学(MIT)のライアン・ウィリアムズ教授が発表した論文「Simulating Time With Square-Root Space」は、コンピュータが計算処理を行う際の「時間」と「空間」の関係性について、従来の理論を大幅に改善するという研究報告(査読前のプレプリント)である。速く計算するには多くのメモリが必要という50年来の常識を覆す可能性を示す。 計算機科学で「時間」とはコンピュータが実行する処理ステップの数を意味し、「空間」とは計算に必要なメモリ使用量を指す。 約50年前の1970年代、チューリングマシンが時間tを要する

                                                            「速く計算するには多くのメモリが必要」という50年来の常識を覆す? 米MIT教授が新理論 査読前論文を発表
                                                          • 生成AIのハルシネーションは原理的に排除不能。不完全性定理など数学・計算機理論で説明 モデル改良や回避システムでも不可避とする論文(生成AIクローズアップ) | テクノエッジ TechnoEdge

                                                            1週間の気になる生成AI技術・研究をピックアップして解説する連載「生成AIウィークリー」から、特に興味深い技術や研究にスポットライトを当てる生成AIクローズアップ。 今回は、大規模言語モデル(LLM)は自身が出力する「幻覚」(ハルシネーション)からは避けられない現象を指摘した論文「LLMs Will Always Hallucinate, and We Need to Live With This」に注目します。幻覚とは、事実と異なる出力をLLMが実行してしまう現象を指します。 この研究では、LLMの幻覚が単なる偶発的なエラーではなく、これらのシステムに内在する避けられない特性であると主張しています。研究者らは、幻覚がLLMの根本的な数学的・論理的構造に由来するものであり、アーキテクチャの改良、データセットの拡充、事実確認メカニズムの導入などによって完全に排除することは不可能であると論じて

                                                              生成AIのハルシネーションは原理的に排除不能。不完全性定理など数学・計算機理論で説明 モデル改良や回避システムでも不可避とする論文(生成AIクローズアップ) | テクノエッジ TechnoEdge
                                                            • Twitter's Recommendation Algorithm

                                                              Twitter aims to deliver you the best of what’s happening in the world right now. This requires a recommendation algorithm to distill the roughly 500 million Tweets posted daily down to a handful of top Tweets that ultimately show up on your device’s For You timeline. This blog is an introduction to how the algorithm selects Tweets for your timeline. Our recommendation system is composed of many in

                                                                Twitter's Recommendation Algorithm
                                                              • 因果推論とグラフ理論 - エクサウィザーズ Engineer Blog

                                                                こんにちは。数理最適化ギルドでエンジニアをしている加藤です。 ある自社プロダクトの開発を通じて因果推論について勉強する機会がありました。因果推論は統計の分野ですが、その中で数理最適化の技術が使えることを知り、とても面白かったのでその内容をシェアしようと思います。具体的には組合せ最適化問題のひとつである最小カット問題が、因果推論のタスクの一部である識別可能性に利用できるという話をします。 前半は因果推論についての概説で特に予備知識は仮定していないです。後半は計算時間やネットワークフローなどのアルゴリズムを知っていると読みやすいと思います。 因果推論とは 因果推論の目的 統計的因果推論とは事象の間の因果効果を実験データや観測データから推定することを目的とした統計学の一分野です。単に因果推論といった場合は統計的因果推論を含むより広い概念を指すことがありますが、簡単のため以下では因果推論といえば統

                                                                  因果推論とグラフ理論 - エクサウィザーズ Engineer Blog
                                                                • 本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道

                                                                  前提 前提ですが。 transaction=Consistency/Isolationを担保する仕組みの話とする。 一般にtransactionが持つべき属性はACIDと言われる。C/Iに比べて、A/Dが“わかりやすい”のでAtomic/Durableの属性の方が人口に膾炙しているが、現在のtransactionではA/Dネタはあまり話題にならない。A/Dネタはローカルだけで見るのであれば普通にfile system /storageの話になる。元来Atomic/Durableはtransactionのコンテクストでは専らlogging / recoveryの話だった。そして、これは非同期のepoch-basedになるとそれ自体の取り扱い優先度が下がる。現代的なtransactionでは、「現時点ではread committedが保証されているFS/storageでA/Dの問題は(ある程度

                                                                    本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道
                                                                  • 再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記

                                                                    数日前にTwitterで, JavaScriptのオブジェクトに対する===の挙動が初心者には難しいみたいな話を見かけた. 発端や周辺の議論をちゃんと追いかけてないからとくに出典は貼らない. たぶん元々の話は「へぇ, こういう挙動なんだ, 簡単ではないね」くらいの話だったのかもしれない. 自分のタイムラインの観測範囲では「そうだそうだ, (参照の同一性ではなく)同値性にしとけばいいのに」と思っている人もそれなりにいそうに見えた. 個人的にも同値性が簡単に確認できるとよい気はするものの, 「なんでそうしないんだ, オブジェクトの中身を確認していくだけだろ!」みたいな簡単な話ではないことも知っているため, 以下のようなツイートをしたのだった. JavaScriptのオブジェクトの同値性、再帰的な構造とか作るとぜんぜん自明じゃないんだよなぁ。リンクの構造は違うけどプロパティを辿ったときのパスはど

                                                                      再帰的な構造のデータの同値性判定はどうしたらいいか - 貳佰伍拾陸夜日記
                                                                    • おわりに - なぜ機械学習はうさん臭く感じられるのか? / 真面目なプログラマのためのディープラーニング入門

                                                                      本講座では計8回にわたり、ディープニューラルネットワークの原理と実装について 説明してきた。ニューラルネットワークの原理は基本的には 勾配降下法であり、その基盤となっているのが関数の微分可能性である。 ニューラルネットワークにはさまざまな形態が存在するが、 画像処理・画像認識の場合は畳み込みニューラルネットワークが非常に 有効であることがわかっている。また、ニューラルネットワークの 出力形式や損失関数を変えることにより、ニューラルネットワークが 物体検出や奥行き推定など、さまざまなタスクに利用可能であることを紹介した。 さて、本講座は「真面目なプログラマのための」ディープラーニング入門、 と銘打っている。真面目なプログラマとは何か? 諸説いろいろあるだろうが、 多くのプログラマは、ソフトウェア開発において 仕様の明確さや、 システムの効率・堅牢性、そして 保守のしやすさといったものを 追求

                                                                      • AI生成の記事を「読む価値のある読み物」に変える、リライトのポイントを紹介するぜ - nomolkのブログ

                                                                        筆者はフリーランスで編集の仕事をしています。プロのライターさんから他職種の方までいろんな書き手の原稿整理(書き手が書いた原稿を整える作業)をしますが、最近はAI支援を使って書かれた原稿の整理をする機会も増えてきました。 いっぽうで、読者の視点から見て、ネットの記事やブログエントリを読んで「これはAIが書いたやつだな」と気づくとがっかりする感覚があると思います。AIの書いた文章はなんか内容が薄いし、読みにくいからです。そのがっかり感の原因と、書き手がとりうる改善策について書きます。 なお、AI活用が特に効果的と思われる説明的な文章(解説文であったり、技術ブログであったり)を想定しています。自分がメインで関わっているデイリーポータルZのような、体験レポートやエッセイなどはAIに不可能なことが多すぎるのでそもそも自分で書いた方が速いと思います。 がっかり① なんかわかりにくい 悪い例)サーボモー

                                                                          AI生成の記事を「読む価値のある読み物」に変える、リライトのポイントを紹介するぜ - nomolkのブログ
                                                                        • 【実践】エンジニアの基礎教養-アルゴリズムを学べる本

                                                                          筆者は新卒エンジニア時代に社内でアルゴリズム勉強会を主催していました。 その内容を本形式に書き起こしたものになります。 【この本の特徴】 📗問題演習形式でアルゴリズムの基礎が身に付く構成となっています。 📗分かりにくい概念は丁寧に図解で解説しています。 📗基礎的なアルゴリズムがどのように世の中に役立っているのかを言及しています。 アルゴリズムに関して、皆さんの理解を深めるお手伝いができれば幸いです。

                                                                            【実践】エンジニアの基礎教養-アルゴリズムを学べる本
                                                                          • 「Googleのソフトウェアエンジニアリング」を読んだ - wyukawa's diary

                                                                            www.oreilly.co.jp 目次はこちら 第1部 主題 1章 ソフトウェアエンジニアリングとは何か 第2部 文化 2章 チームでうまく仕事をするには 3章 知識共有 4章 公正のためのエンジニアリング 5章 チームリーダー入門 6章 スケールするリーダー 7章 エンジニアリング生産性の計測 第3部 プロセス 8章 スタイルガイドとルール 9章 コードレビュー 10章 ドキュメンテーション 11章 テスト概観 12章 ユニットテスト 13章 テストダブル 14章 大規模テスト 15章 廃止 第4部 ツール 16章 バージョンコントロールとブランチ管理 17章 Code Search 18章 ビルドシステムとビルド哲学 19章 GoogleのコードレビューツールCritique 20章 静的解析 21章 依存関係管理 22章 大規模変更 23章 継続的インテグレーション 24章 継続的

                                                                              「Googleのソフトウェアエンジニアリング」を読んだ - wyukawa's diary
                                                                            • キャッシュアルゴリズムの比較 - falsandtruのメモ帳

                                                                              アプリケーションなどOSより上に作られる高水準のプログラムではハードウェアの速度と容量を考慮しない数学的キャッシュアルゴリズムが使われ主にこれを本稿の対象とする。キー探索用マップと明示的キャッシュサイズ(対となる値が保持されているキーのサイズ)は計算量に含まれない。 LRU 最も単純かつ高性能な基礎的キャッシュアルゴリズム。そのため性能比較のベースラインとして常に使用される。逆に言えば実用最低水準の性能である。スキャン耐性皆無でスキャン一発でキャッシュとヒット率がリセットされゼロからやり直しになるため非常に脆く不確実な性能となりベンチマークにおける性能が表面上さほど悪くなく見えても実際の性能はこのような外乱により大きく低下しやすい。このためLRUより高度な主要アルゴリズムはすべて大なり小なりスキャン耐性を備えている。ちなみにプログラミング言語最大のパッケージマネージャであるJavaScri

                                                                                キャッシュアルゴリズムの比較 - falsandtruのメモ帳
                                                                              • C++ Cheat Sheets & Infographics

                                                                                Standard Algorithms

                                                                                  C++ Cheat Sheets & Infographics
                                                                                • J-POP曲をファミコン音楽風に自動編曲 遺伝的アルゴリズムを利用、日大が開発

                                                                                  Innovative Tech: このコーナーでは、テクノロジーの最新研究を紹介するWebメディア「Seamless」を主宰する山下裕毅氏が執筆。新規性の高い科学論文を山下氏がピックアップし、解説する。 検索すれば、ファミコン風にアレンジした曲が多数ヒットする。これは音楽の知識があり機材などが整っている人が独自に編曲したものが多い。しかし、ファミコン音楽特有の制約を破っているものがほとんどだ。 ファミコン音楽特有の制約とはなにか。ファミコンに搭載される音源チップの機能が制限されているため、ファミコン音楽では一度に同時に鳴らせる最大同時発音数が限られる。その最大同時発音数は4音で、方形波2音、三角波1音、ノイズ1音と音の種類も決まっている。ファミコン音楽には、最大同時発音数4音の制約が存在するわけだ。 そこで今回は、ファミコン音楽の制約を守り、音楽未経験者でも気軽にファミコン風音楽へ自動編曲

                                                                                    J-POP曲をファミコン音楽風に自動編曲 遺伝的アルゴリズムを利用、日大が開発

                                                                                  新着記事