タグ

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

  • 金子勇さんのED法を実装してMNISTを学習させてみた - Qiita

    追記:続きを書きました。 はじめに 先日以下の記事が投稿され、その斬新な考え方に個人的ながら衝撃を受けました。 内容をざっくり言うと、ニューラルネットワークの学習を現在の主流であるBP法(誤差逆伝播法)ではなく、ED法(誤差拡散法)という新しい学習手法を提案しているものです。 もし記事の内容が当ならニューラルネットワークの学習がO(1)でできてしまう事になり、まさしく革命が起きてしまいます。 (結論からいうと速度面はそこまででもなかったです(それでも早くなる可能性あり)) (ただこの新手法のポテンシャルは革命を起こす可能性は秘めているといっても過言ではありません) ED法に関してネットを探すとインターネットアーカイブに情報が少し残っていました。 このページですがED法のサンプルプログラム(C言語)が残っており、このサンプルプログラムをベースにpythonで書き起こしたものが記事となりま

    金子勇さんのED法を実装してMNISTを学習させてみた - Qiita
    skypenguins
    skypenguins 2024/04/20
    “これが1999年に考えられていたなんて衝撃です。 ディープラーニングの誕生が2006年らしいので〜” NN(神経回路網)とBP法(誤差逆伝播法)は両方とも60年代からずっと存在してるような…
  • Raft

  • 拡散モデルと最適輸送 - ジョイジョイジョイ

    『最適輸送の理論とアルゴリズム』が重版して第 5 刷となりました。皆さまありがとうございます! 漫画家さんやイラストレーターさんが重版したときに重版感謝の描き下ろしイラストを投稿しているのを見ていいなと思ったので、僕も専門書が重版したときに重版感謝の書き下ろし専門記事を投稿します。 稿では、最近話題の拡散モデルと最適輸送の関係を直観的に解説します。 拡散モデルは画像の生成によく用いられる生成モデルです。モデルはノイズ入りの画像を受け取り、ノイズを除去することを目指します。生成時には、完全なノイズ画像からはじめて、モデルによりノイズを除去することと、微小なノイズを加えることを繰り返して洗練させていき、自然画像を得ます。 拡散モデルの動作の図示 このように、ノイズ から自然画像 までゆらぎながら変化する過程をブラウン橋 (Brownian bridge) と言います。ブラウン運動 (Brow

    拡散モデルと最適輸送 - ジョイジョイジョイ
    skypenguins
    skypenguins 2024/03/09
    「最適輸送は両端の分布として任意のものが取れます。」
  • Raft - Kubernetes(etcd)のHA構成はなぜ3台以上? | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは。松です。 Kubernetes コントロールプレーンの HA(High Available) 構成は二通りありますが、公式ドキュメント内に次のような記述があり、いずれの方式でも 3 台以上のマシンでクラスターを構成することが求められています。 For both methods you need this infrastructure: Three machines that meet kubeadm’s minimum requirements for the masters (中略) For the external etcd cluster only, you also need: Three additional machines for etcd members この、最小が "three" である必要性は、どこからくる制約なのでしょうか。"two" じゃだめなのでし

    Raft - Kubernetes(etcd)のHA構成はなぜ3台以上? | TECHSCORE BLOG | TECHSCORE BLOG
  • グラフアルゴリズム実践活用術

    情報オリンピック夏季セミナー 2023: https://jcioi-summer-seminar-2023.peatix.com/ での講演スライドです。 講義概要: アルゴリズムを勉強していると,グラフアルゴリズムにたくさん出会います.しかし,グラフアルゴリズムが現実世界でどのように活躍しているのかについては目に触れる機会はあまりありません.講演では,実社会で登場するグラフデータについての問題と,どのようなグラフアルゴリズムがそれらの問題を解決しているかについてご紹介します. ノイズ除去のソースコード: https://colab.research.google.com/drive/1Mdr3KGrwuX9jAWHk5pVGH2HaUmLmR-jB?usp=sharing 背景除去のソースコード: https://colab.research.google.com/drive/1vm

    グラフアルゴリズム実践活用術
  • Twitter(X) コミュニティノートについて知って欲しいことを暑苦しく語る - フジイユウジ::ドットネット

    誤解を招きそうなツイートに対してTwitter(X)ユーザーが背景情報を書くことができるコミュニティノート機能が日でも正式リリースになりましたね。 このTwitterコミュニティノート機能、フェイクニュースや陰謀論などを見た人が冷静に判断しやすくなる背景情報を付与でき、とても意義深いです。 しかし、この機能自体に対する誤解も多い上に、僕が見て残念な使い方も増えてきているように思います。 そこで、この記事では Twitterコミュニティノートについて解説しながら、いかにこれが超絶スゴい複雑さで「インターネットっぽい仕組みか」を語っていきたいと思います。 Twitterが好きな人も嫌いな人も、どうか最後まで読んでもらえれば嬉しいです。 コミュニティノートは書いただけでは表示されない、複雑な仕組みだよ。 コミュニティノートは、誤解を招きそうなツイートに対してTwitterユーザーが背景情報を書

    Twitter(X) コミュニティノートについて知って欲しいことを暑苦しく語る - フジイユウジ::ドットネット
    skypenguins
    skypenguins 2023/08/08
    アルゴリズムが全部公開されてるのはいいな
  • 競プロのための高速フーリエ変換

    ■「フーリエ変換って知ってる?」 ●「フーリエ変換ですか? 信号処理でもするんですか、先輩」 ■「いや、競プロで使えるようになりたいなって」 ●「ああ、畳み込みの高速化ですか。あれは高速フーリエ変換をそのまま使うだけですからね」 ■「勉強しようと思って色々調べたんだけど、なかなか理解できなくて」 ●「私もうまく説明できるかわかりませんが、お話しましょうか」 離散フーリエ変換(DFT) フーリエ変換の仲間たち ●「フーリエ変換の仲間には色々種類があるんですけど、競プロで使うのは離散フーリエ変換(DFT: Discrete Fourier Transform)ですね」 ■「離散ってことは、連続もあるんだよね」 ●「はい。ざっくり 4 種類あります。フーリエ変換では元の信号を別の信号に変換するんですが、元の信号が周期信号だと変換後は離散信号(数列)になります」 ■「周期信号っていうのは、決まった

    競プロのための高速フーリエ変換
  • 競技プログラミングをしなくても知っておきたい計算量のはなし

    これは ミライトデザイン Advent Calendar 2021 の 14 日の記事です 最近ふぐひれ酒が飲みたくて仕方ない ほげさん ( zenn ) です 今日は計算量について超ゆるふわに紹介してみようと思います 「競技プログラミングとかやらんし」「Web サービス作るのにいらんし」などと思った方! 大量リクエストの対応やバッチ処理など、案外役に立つかもしれないですよ! どういうときに計算量を考えるか 計算量とは、処理の効率などを示す尺度のことです この記事では処理時間についてのみ紹介します まずはサンプルコードと実行結果を見ながら、代表的なケースとインパクトを見てみましょう データ構造をちょっとだけ気にする ロジックをちょっとだけ気にする アルゴリズムをちょっとだけ気にする の三立てでサクサクいきますよ ケース 1: データ構造をちょっとだけ気にする 最後の要素を取得するのは、配

    競技プログラミングをしなくても知っておきたい計算量のはなし
  • 徐々に高度になるリングバッファの話 - Software Transactional Memo

    リングバッファのイメージ図 1. リングバッファとは何か 機能的にはFirst In First Out (FIFO)とも呼ばれるキューの一種であるが、リング状にバッファを置いてそれの中でReadとWriteのインデックスがグルグルと回る構造をとる事によって容量に上限ができることと引き換えに高速な読み書き速度を得たものである。キューを単に実装するだけなら山ほど方法があって線形リストを使ってもいいしスタックを2つ使っても原理的には可能だ。その中でもリングバッファを用いた方法の利点はひとえに性能の高さでありメモリ確保などを行わないお陰でシステム系の様々な場所で使われている。 これの実装自体は情報系の大学生の演習レベルの難度であるが少し奥が深い。まずリングバッファのスタンダードなインタフェースと実装は以下のようなものである。 class RingBuffer { public: explicit

    徐々に高度になるリングバッファの話 - Software Transactional Memo
  • Pythonコードを35000倍に高速化したい

    はじめに Pythonは世界的にも人気のあるプログラミング言語ですが、実行速度については課題があります。Pythonの実行速度を高速化したい、という要求は根強く、これまでにも様々な処理系が開発されています。 この記事はPythonで書かれたコードを35000倍に高速化するにはどのような方法があるかについてまとめたものです。 この記事は: Pythonで書かれたアルゴリズムを35000倍に高速化する 事前コンパイル、並列化、SIMD演算を駆使する 最終的に44000倍まで高速化できた なぜ35000倍? 2023年5月2日にModular社よりPythonの使いやすさとC言語の性能を兼ね備える新しいプログラミング言語、Mojoの開発について発表がありました。低レベルのハードウェア向けにコンパイル可能なこと、文法的にはPythonを踏襲しており、既存のPythonライブラリを利用可能であること

    Pythonコードを35000倍に高速化したい
  • 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
  • AT Protocol (BlueSky Social)仕様解説 ~ W3C DID仕様を添えて ~ - Qiita

    結論 まだMastodon以下の機能実現状況なので、SNS目的で参加するのはNostr以上に勧めしません。 API叩いて遊べる人や、自分で問題解決できる人向け ※現在、基機能も完成していないためクローズドβ中です。 公式サーバーの作成には、既存ユーザーに発行される招待コードが必要です(2週間に付き1個) 有志の非公式サーバーもそちら用の招待コードが必要になりました。 まだまだ仕様も未完成!!!破壊的変更も色々起きるぞ! ※コードを買ってまで参加するものではないと思います。開発やフィードバックに協力できる人のみ参加すべき。 はじめに Twitterの動乱に巻き込まれ、移住先にMisskeyMastodonなど選ばれつつある今日このごろ、皆様いかがお過ごしでしょうか。 つい先日、BlueSkyのクローズドベータが開始されました。 BlueSkyは、Nostr同様Twitter創設者のジャッ

    AT Protocol (BlueSky Social)仕様解説 ~ W3C DID仕様を添えて ~ - Qiita
  • 竹内関数 - Wikipedia

    竹内関数(たけうちかんすう)は、プログラミング言語処理系のベンチマークなどに使われる、再帰的に定義された関数である。 概要[編集] 再帰的に定義される、3個の引数 x, y, z をとる次のような関数である。 特に変わる所は無いがLisp版[1]も参照のこと。定義からわかるように処理を次々にたらい回しにしていくことから、たらいまわし関数[2]、たらい関数 (Tarai function) とも呼ばれる(後述のマッカーシー版との混同を避けるためこの名で呼ばれることのほうが多いが、こちらの定義のほうがオリジナルである。マッカーシー版を特にTak関数として区別する場合もある)。電電公社研究員(当時)の竹内郁雄が、1974年の夏前の頃、後述するような特性のある関数をあれこれ考えていた、ある日の午前に思いついたものである[3]。竹内関数と命名したのは野崎昭弘である[4]。 特性として、他のよくベンチ

  • Challenging algorithms and data structures every programmer should try

    Challenging algorithms and data structures every programmer should try 12/21/2022 See the discussion of this post on Reddit and Hacker News. Alright, so we are all spending our leisure time reading about algorithms, right? Well, back when I was a student, my algorithms courses regularly put me to sleep. This is unfortunate because there are some really interesting algorithms and data structures ou

    Challenging algorithms and data structures every programmer should try
  • Golang is evil on shitty networks

    This adventure starts with git-lfs. It was a normal day and I added a 500 MB binary asset to my server templates. When I went to push it, I found it interesting that git-lfs was uploading at 50KB per second. Being that I had a bit of free time that I’d much rather be spending on something else than waiting FOREVER to upload a file, I decided to head upstairs and plug into the ethernet. I watched i

    Golang is evil on shitty networks
  • inzkyk.xyz

    Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Julia contributors 著

    inzkyk.xyz
  • 企業がSEO対策に捧げる「祈り」 グーグル検索順位が経営リスクに:朝日新聞デジタル

    ","naka5":"<!-- BFF501 PC記事下(中⑤企画)パーツ=1541 --><!--株価検索 中⑤企画-->","naka6":"<!-- BFF486 PC記事下(中⑥デジ編)パーツ=8826 --><!-- /news/esi/ichikiji/c6/default.htm -->","naka6Sp":"<!-- BFF3053 SP記事下(中⑥デジ編)パーツ=8826 -->","adcreative72":"<!-- BFF920 広告枠)ADCREATIVE-72 こんな特集も -->\n<!-- Ad BGN -->\n<!-- dfptag PC誘導枠5行 ★ここから -->\n<div class=\"p_infeed_list_wrapper\" id=\"p_infeed_list1\">\n <div class=\"p_infeed_list\">

    企業がSEO対策に捧げる「祈り」 グーグル検索順位が経営リスクに:朝日新聞デジタル
    skypenguins
    skypenguins 2022/10/01
    人類はGoogleという現人神に逆らえないのだ…
  • Fraud detection using knowledge graph: How to detect and visualize fraudulent activities

    knowledge-graph Fraud detection using knowledge graph: How to detect and visualize fraudulent activities Fraud detection is important to any organization, be it a financial service or simply a web service. With the increase in technology and the ease of information being shared with other parties, traditional methods of fraud detection have been rendered obsolete. In this post, we will be looking

    Fraud detection using knowledge graph: How to detect and visualize fraudulent activities
    skypenguins
    skypenguins 2022/06/04
    不正検出:知識グラフを使用して不正行為を検出および視覚化する方法
  • 共同編集を支える技術とライブラリの活用 - ICS MEDIA

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

    共同編集を支える技術とライブラリの活用 - ICS MEDIA
    skypenguins
    skypenguins 2022/05/31
    共同編集は並行プログラミングのような本質的な難しさがあるな
  • アルゴリズムと計算量 - 「プロになるJava」ボツ原稿 - きしだのHatena

    「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」に入れようと思っていた、「アルゴリズムと計算量」の話です。 こういう話題でよくでる「こんな難しいプログラム組まないのでは?」という疑問についても最後にまとめています。 プロになるJava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山 裕介,杉山 貴章技術評論社Amazon アルゴリズムと計算量 ここまでいろいろな処理の計算手順について紹介しました。こういった計算手順のことを アルゴリズム といいます。 同じ処理をするアルゴリズムはいろいろ考えられます。そのとき気になるのは実行性能の問題です。 ただ、実行性能はコンピュータによってクセがあるので、アルゴリズムそのものについてを考えるときにはそういったクセを取り除いて考えたいものです。 そこで、アルゴリズムの性能について考えるときに

    アルゴリズムと計算量 - 「プロになるJava」ボツ原稿 - きしだのHatena
    skypenguins
    skypenguins 2022/05/14
    O(n²)を“O(n2)”と表記するのはマズいのでは…