タグ

アルゴリズムに関するmisshikiのブックマーク (11)

  • CRDT: Text Buffer - Made by Evan

    Collaboratively editing strings of text is a common desire in peer-to-peer applications. For example, a note-taking app might represent each document as a single collaboratively-edited string of text. The algorithm presented here is one way to do this. It comes from a family of algorithms called CRDTs, which I will not describe here. It's similar to the approaches taken by popular collaborative te

    misshiki
    misshiki 2024/05/21
    “CRDT: テキストバッファ”テキスト文字列を共同編集するためのアルゴリズムの一つ。
  • 金子勇さんのED法のシンプルな解説を試みた - Qiita

    はじめに @pocokhc(ちぃがぅ)さんが、金子勇さんのED法を実装してMNISTの学習に成功しました。 金子勇さんの失われたED法 金子勇さんの失われたED法発掘の経緯 ここではちぃがぅさんのコードを元に、ED法をシンプルに解説していきたいと思います。 ED法をわかりやすく解説するため、今入力を(1,0)としたとき(0)を推論するXOR問題を考えてみましょう。 ED法の場合, 入力、重みともに正負(p,n)2つ分の変数を用意する必要があります。 例えば 入力を(1,0)とすると 1 (p) ,1 (n), 0 (p), 0 (n) の4つとバイアス分の2つの p n が必要です。 また, 3層構造として中間層のニューロンをp, n 2つのみとします。 中間層のニューロンを2つとしたときは、 p, n の2つと, バイアス用のp, n の2つが必要です。 中間層のニューロン各々は、そのニ

    金子勇さんのED法のシンプルな解説を試みた - Qiita
  • PNGのメタデータを理解する【Python解説あり】

    PNGなどの画像ファイルには「メタデータ」と呼ばれる付加情報がついていることがあります。 たとえば、NovelAIやStable Diffusionなどの画像生成AIサービスで生成した画像ファイルには、「どのような設定で画像を生成したのか」という情報が付けられています。 このような情報を確認できれば、気に入った画像を生成できたときのプロンプトや設定情報を参考にできるのでとても便利です。 「メタデータ」がどのようなものかを理解することで、活用の幅が広がります。 記事ではPNGファイルのメタデータがどのような構造になっているのかを初心者でもわかるように丁寧に解説します。 後半では、実際にPNGファイルからメタデータを抜き出すPythonコードも解説していますので、アプリやツールを作ろうとしている人にも役立つと思います。 この記事はこんな人におすすめ PNGファイルのメタデータについて知りたい

    PNGのメタデータを理解する【Python解説あり】
  • 【Python】四分木の中で最も複雑な領域を分割し続けるアートを実装してみた - Qiita

    はじめに 数ヶ月前に、このツイートが目に留まりました。 非常に魅力的で、自分でも作りたいと思ったのですが、アルゴリズムや実装が公開されているにもかかわらず、実際にやっている人が少ないようでした。 そこで、記事では、Pythonの画像処理ライブラリPillow(PIL)を使用して、四分木の中で最も複雑な領域を分割し続けるアートの実装方法について解説します。 アルゴリズム 以下の操作を再帰的に繰り返します。 キャンバス上のすべての矩形領域の中から、最も複雑な領域を選んで四分割する。 新しくできた矩形領域において画像の複雑度(score)と平均色を求め、領域を平均色で塗りつぶす。 詳しくは元記事を参照してください。 実装 Rectクラス Rectクラスは、長方形のフレームの座標情報を保持するクラスです。 calc_areaは長方形のフレームの面積を計算するメソッドです。 class Rect:

    【Python】四分木の中で最も複雑な領域を分割し続けるアートを実装してみた - Qiita
    misshiki
    misshiki 2024/01/04
    “Pythonの画像処理ライブラリPillow(PIL)を使用して、四分木の中で最も複雑な領域を分割し続けるアートの実装方法について解説します。”
  • いろんなバンディットアルゴリズムを理解しよう - Qiita

    今回は、何も知らないところからバンディットアルゴリズムを学びました。 シンプルなバンディットアルゴリズムから、各ユーザーごとに最適化するContextual Bandit、順序を最適化するCascading Banditまで解説します。 学んでいて疑問に思ったことを解消しつつ記載しています。 ソースコード https://github.com/birdwatcherYT/bandit 対象読者 バンディットアルゴリズムを理解して実装したい人 ユーザーごとにカスタマイズしたバンディットを理解して実装したい人(Contextual Bandit) 順序を最適化するバンディットを使いたい人(Cascading Bandit) バンディットアルゴリズム バンディットの問題設定を説明します。 スロットマシンN台がある スロットマシンの腕を引くと報酬がもらえる 累積報酬を最大化したい バンディットアル

    いろんなバンディットアルゴリズムを理解しよう - Qiita
    misshiki
    misshiki 2023/11/02
    “シンプルなバンディットアルゴリズムから、各ユーザーごとに最適化するContextual Bandit、順序を最適化するCascading Banditまで解説します。”
  • 推論能力をさらに強める戦略『AoT』で、LLMが「直感」に似た能力を示すようになった | AIDB

    推論能力をさらに強める戦略『AoT』で、LLMが「直感」に似た能力を示すようになった 2023/8/30 LLM 論文 AIDB Research 推論能力をさらに強化するための新しい戦略『AoT(Algorithm of Thoughts)』が登場しました。この手法によって、大規模言語モデル(LLM)が「直感」に似た能力を示すようになったとの実験結果が報告されています。この発表は、マイクロソフトの研究者をはじめとする専門家によって行われました。 この研究は、推論タスクにおけるLLMの新たな可能性を広げるものであり、計算負荷の高さや効率の低さといった従来の課題を解決する方向性を示しています。 参照論文情報 タイトル:Algorithm of Thoughts: Enhancing Exploration of Ideas in Large Language Models 著者:Bilgeh

    推論能力をさらに強める戦略『AoT』で、LLMが「直感」に似た能力を示すようになった | AIDB
    misshiki
    misshiki 2023/09/01
    “AoT(Algorithm of Thoughts)の特徴: AoTは少ないクエリと短い計算時間で高度な推論を可能にし、深さ優先探索(DFS)や幅優先探索(BFS)などの既存アルゴリズムを模倣しています。”
  • AlphaDev discovers faster sorting algorithms

    Impact AlphaDev discovers faster sorting algorithms Published 7 June 2023 Authors Daniel J. Mankowitz and Andrea Michi New algorithms will transform the foundations of computing Digital society is driving increasing demand for computation, and energy use. For the last five decades, we relied on improvements in hardware to keep pace. But as microchips approach their physical limits, it’s critical t

    AlphaDev discovers faster sorting algorithms
    misshiki
    misshiki 2023/06/09
    “強化学習を用いて、科学者やエンジニアが何十年もかけて磨き上げたものを凌駕するコンピュータサイエンスのアルゴリズムを発見する人工知能(AI)システム「AlphaDev」”
  • DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化

    Google傘下のAI企業Google DeepMindは6月7日(現地時間)、アルゴリズムを開発するAIAlphaDev」が、人間が考えたものより高速なソートアルゴリズムを発見したと発表した。 ソートアルゴリズムは、入力されたデータを一定のルールに基づいて並べ替えるもの。ネット検索結果の並べ替えやランキング制作などIT技術の根幹を担う技術の一つ。今回AlphaDevが考案したアルゴリズムは既存のものに比べて、少量のデータなら最大70%、数十万規模の大量のデータなら約1.7%速く処理できた。 DeepMindはAlphaDevに新しいアルゴリズムを発見させるため、ソートの作業を「組み立てゲーム」としてプレイさせた。「正確にソートできる」「既存のアルゴリズムより高速である」という2点を満たせばクリアとした。 関連記事 OpenAIやDeepMindのCEOやトップ研究者ら、「AIによる人

    DeepMind、AIで人間考案のものより優秀なソートアルゴリズムを発見 最大70%高速化
  • 実用アルゴリズムの基礎「動的計画法」と機械学習の基礎「類似度」を知る

    実用的なソフトウエアを開発するにはアルゴリズムの知識は欠かせない。基礎から機械学習まで、厳選した10個のアルゴリズムをPythonによる実装とともに解説する。 [7 動的計画法] レーベンシュタイン距離 多くの人にとって、アルゴリズムの学習の最初の壁となるのが、「動的計画法」ではないでしょうか。動的計画法は、「問題の部分的な結果を記録・利用しながら、最終的な結果を求める」手法の総称です。クイックソートや深さ優先探索のような手法よりも、1 段か2段、抽象的な概念である点と、アルゴリズムを可視化しにくい点が、難しく感じる原因なのだと思われます。また、“動的計画法”という名称が内容に合っていないことも、動的計画法をわかりにくくしていると言えるでしょう。 しかし、多くの有用なアルゴリズムは動的計画法の手法を使っているので、避けて通ることはできません。 ここでは、動的計画法で「レーベンシュタイン距離

    実用アルゴリズムの基礎「動的計画法」と機械学習の基礎「類似度」を知る
  • 検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog

    TL;DR 表記揺れがふくまれる検索クエリにマッチしたコンテンツを表示するための手法として、スミス・ウォーターマン法に基づくあいまい検索を実装して検索精度を向上しました。この手法は機械学習システムを使わないためメンテナンスコストが低く、その一方で速度面でも実用的な性能を持ちチューニングしやすいのが特長です。 はじめに こんにちは、ギフトモールで検索エンジンなどを開発している @samayotta です。 私たちギフトモールはプレゼントに特化したECサービスを提供しています。ギフトECにおいても、ユーザのニーズにマッチする商品を探すための検索機能は重要となります。例えば、弊社が運用しているギフトECサービスの一つであるギフトモールは、ユーザが入力する文字列の検索クエリから関連するキーワードを検出し、そのキーワードに紐づいているコンテンツ(商品、記事、etc.)を提示する検索機能を持っています

    検索クエリからファジーにキーワードを抽出する(スミス・ウォーターマン法に基づく実装) - Giftmall Inside Blog
    misshiki
    misshiki 2022/12/16
    “この手法は機械学習システムを使わないためメンテナンスコストが低く、その一方で速度面でも実用的な性能を持ちチューニングしやすいのが特長”
  • Algorithms for Decision Making

    misshiki
    misshiki 2022/07/12
    書籍『意思決定のためのアルゴリズム』の完全版(PDF)が無料でダウンロードできる。
  • 1