ブックマーク / nowokay.hatenablog.com (81)

  • ChatGPTによって世の中の「AI」の理解がすすんだ - きしだのHatena

    もうなんかどこもかしこもChatGPT、という感じで流行ってますね。といいつつ、ぼくも割とChatGPTのブログ書いてます。だっておもしろいもん。 そして、多くの人が触って、今のAIの特性みたいなものに気づく人が多くなってるように思います。 世の中でAIが流行りだして画像認識だったり音声認識だったり、データ認識系がまず流行りました。 画像に映ってるものがなにかを識別してくれるというのは当時はすごいなと思ったものの、その結果をみても「うまく認識できないものもあるね」という感じでした。 「あぁこういう間違いするんだ」というのもあったけど「錯覚しやすいのね」くらいの感じだったと思います。「錯覚」するのがすごかったりするのだけど。 そもそもとして、画像認識や音声認識を実際に直接触るのは技術者くらいのものなので、普通の人は「alexaテレビの声に反応してる」みたいなアプリケーションが失敗するという

    ChatGPTによって世の中の「AI」の理解がすすんだ - きしだのHatena
    zu2
    zu2 2023/02/13
  • プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena

    Tiobe indexを眺めながら、C#とVBが入っていてMicrosoftは強いなーと思ったのだけど、よくみると他の言語もMicrosoftの影響力すごいのではとなったので調べてみた。 https://www.tiobe.com/tiobe-index/ Python 例えば1位のPythonMicrosoftはかなり力をいれている。象徴的なのが、Pythonのオリジナル開発者の入社 C/C++ Windows上でのC/C++コンパイラではMS C/C++が圧倒的シェアであるし、C++の標準化団体にMicrosoftGold Memberとして参加している。 https://isocpp.org/about Java 4位のJavaに関してもかなりリソースは割いているわけですが、全体の影響度としてそこまで大きくはないですね。 昨日のブログにも書いたようにOpenJDKビルドを出してい

    プログラミング言語へのMicrosoftの影響力がヤバい - きしだのHatena
    zu2
    zu2 2023/02/13
  • Microsoft OpenJDKのエスケープ解析改善を試したら割と効いてる - きしだのHatena

    MicrosoftのOpenJDKにエスケープ解析の改善が入ってるってことで試してみました。 https://www.infoq.com/news/2023/02/microsoft-openjdk-feature/ Microsoftのアナウンスはこちら。 https://devblogs.microsoft.com/java/microsoft-build-of-openjdk-october-2022-psu-release/ エスケープ解析は、雑にいうと、メソッド内で生成されてそのメソッド内だけで使われるようなオブジェクトについて、ヒープに確保するのではなくてフィールドをローカル変数に分解して処理をするような最適化です。 正しくは、そいういう最適化が行えることを発見する解析のことだけど。 基的にはメソッド呼び出しを埋め込み処理に変換するインライン化とあわせて威力を発揮します。 例

    Microsoft OpenJDKのエスケープ解析改善を試したら割と効いてる - きしだのHatena
    zu2
    zu2 2023/02/12
  • ChatGPTでわかる人間の思考、「意識」の実装方法 - きしだのHatena

    ChatGPTは完全ではないとはいえ人の脳みそのふるまいに似た動きをしているようにみえます。 そこで、覚えてるはずのことが思い出せなかったり、話しだすと思いがけない言葉がどんどんでてきたり、夢を思い出すことができなかったり、考えるときに言葉が必要だったりするような、人間の思考のふるまいをChatGPTの仕組みや動きから考えてみます。そしてついでに、「意識」や「クオリア」をChatGPTを使って実装するアイデアをまとめてみます。つまり汎用AI、強いAIです。 思考には2段階ある 話すことで続きの言葉が出てくる 知識を引き出すにはキッカケが必要 夢を思い出せないのはキッカケがないから 一度の経験でも記憶に影響を与えている 考えるために言葉が必要 ChatGPTの延長では人と同じように考えることは難しい 意識ってなんだろう?どう実装しよう? ※ 断定的に書いていても、これは きしだがそう考えてい

    ChatGPTでわかる人間の思考、「意識」の実装方法 - きしだのHatena
    zu2
    zu2 2023/01/27
    量子云々はともかく、大量の情報を浴びると思考がそのように誘導されるのはその通り。システム2は重たいので、普段は軽いシステム1しか使わないし。メディアの「有害」性とも関連するはず
  • テストコードがコードの冗長化であることについて - きしだのHatena

    テストコードがコードの冗長化であるという話に、腑に落ちないという指摘がちらほらあるので、どういうことかを解説してみます。 このエントリについてです。 テストというのは、ソースコードの冗長化だと思う - きしだのHatena ※ ここでの冗長化は、英語Wikipediaでいう「Information redundancy, such as error detection and correction methods」のことですね。 まず、「これは冗長化だな」と納得してもらいやすそうな例として、間違いが絶対に許されないような計算をするシステムの実装を考えてみます。 このような場合に、同じ仕様を3つの組織に渡して独立に実装をしてもらい、計算が必要になったとき3つのモジュールを呼び出して多数決で結果を返すようにします。 このようにして正確さを担保するのは、冗長化と呼べると思います。 そして、これ

    テストコードがコードの冗長化であることについて - きしだのHatena
    zu2
    zu2 2023/01/27
    冗長化だと専門用語になるから変に思えるのかな。冗長性ならどうだろう?
  • ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena

    いろいろ仕組み的にChatGPTというのはGoogle検索の代替以上の働きをするなぁと思っていたのだけど、それとは別にChatGPTによって検索が使い物にならなく未来が考えられるなぁと思った。 ChatGPTが検索よりもいいのは、そのものズバリな文書がなくても、その周辺から学んだ単語の関係をもとに、答えを構築してくれることです。 たとえば検索の場合は、日語で書かれた文書が用意されていなければ、たとえ英語中国語の文書があったとしても日語での検索には引っかかりません。 けど、ChatGPTの場合は、英語中国語の文書から学んだ単語の関係や、ほかの文書から学んだ英語と日語の関係、日語での単語の関係などから、日語の回答を生成してくれます。 たとえばGluonという会社について日語で説明してる記事はおそらくないと思うのですが、ちゃんと日語で説明してくれます。社はベルギーですが。。。

    ChatGPTがGoogle検索を使いものにならなくする未来 - きしだのHatena
    zu2
    zu2 2023/01/25
    2chまとめサイトといかがでしたかブログが、日本語Webをゴミにした過去が、自動化により大規模に繰り返される未来が見える。信頼できるサイトをRSSで見る時代に戻るのかな
  • Software Design 9月号でオブジェクト指向の記事を書きました - きしだのHatena

    書きました! Software Design 2014年9月号|技術評論社 Software Design (ソフトウェア デザイン) 2014年 09月号 [雑誌] Amazon

    Software Design 9月号でオブジェクト指向の記事を書きました - きしだのHatena
    zu2
    zu2 2023/01/14
  • ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena

    ChatGPTのヤバいところは、論理処理が必要だと思っていたことが、じつは多数のデータを学習させた確率処理で解決可能だと示したことだと思います。 たとえば、このように正規表現にマッチする文字列を生成するには、特別に専用の論理処理が必要だと思っていました。 前のブログのときには特殊処理が必要だと考えてましたね。 ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena けど、123_45678world.mdはマッチするのにマッチしないと言っているので、そのような誤りが入ることを考えると、どうも確率処理だけでやっているようです。 考えてみると、3層以上のニューラルネットであれば論理素子を再現できるので、ディープラーニングで論理処理を模倣することは可能なんですよね。 バックプロパゲーションでニューラルネットの学習 - きしだのHatena そもそも論理は、多数の

    ChatGPTのヤバさは、論理処理が必要と思ったことが確率処理でできるとわかったこと - きしだのHatena
    zu2
    zu2 2023/01/10
  • SNS時代の友達というのは個人ではなく集団の友達濃度 - きしだのHatena

    よく、友達がいるとかいないとか多いとか少ないとかいう話になったときに「ぼくは友達いるんだろうか?」と思っていた。 たしかによく飲みにいく人はいるし、最近は少ないけど物理で勉強会があったときには月に2-3回会う人は結構いた。あと、ぼくのだいたいの生活は1000人くらいが把握している気がする。けどじゃあ「友達」にあたる人がいるかというと自信がない。 とはいえ、飲みにいこうと思って誘えば必ず行ける人は いるし、話をする相手はみつかるし、世間的な「友達がいる」という状態になってる。 ということを考えると、「友達」が個人ではなく集団で、クラスタとして存在している気がする。 Twitter上でのやりとりの頻度でマップを作って実際に飲みにいった人の比重をあげて、密度が高いところが「友達濃度が高い」みたいになっている。 「人間関係の希薄化」ということはよく言われるけど、これは基的には人間関係の広範化とセ

    SNS時代の友達というのは個人ではなく集団の友達濃度 - きしだのHatena
    zu2
    zu2 2022/12/22
  • ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena

    ChatGPT、すごいですね。 Javaは素晴らしいという歌も作ってくれます。すばらしい。 Java素晴らしいという歌を作ってもらいました。https://t.co/Dx94koO2ti pic.twitter.com/E4tWK5FbeM— きしだൠ(K1S) (@kis) 2022年12月1日 プログラミング関係ではいろいろ助けになりますね。 基的なコードの生成や、その解説までやってくれます。 SimulaとかAIDAとか古い言語のサンプルコード作るのが便利でした。 ぐぐってもなかなかコード例が出てこない言語のサンプルコードを見るのに便利 pic.twitter.com/JbDACwO9zU— きしだൠ(K1S) (@kis) 2022年12月2日 正規表現はおそらく専用処理で解析してる気がします。 ただ、「123_45678world.md」はマッチしますね。 こんな感じで、Cha

    ウソはウソと見抜ける人じゃないとChatGPTを使うのは難しい - きしだのHatena
    zu2
    zu2 2022/12/06
  • ブログは思考の叩き台 - きしだのHatena

    前のブログで、「適当に言ってるだけ」「分析がちょっと雑」というコメントがついていた。 でも物事を適当じゃなく言ったり雑ではない分析をするには、最初に適当に言ってみることや、雑な分析を出してみることが大切だと思う。 まず、人に読ませる前提で書き下ろすことが思考の整理につながる。 そして、具体的に思考を形にすることで、それに対するフィードバックが得られる。 「くだらない」というコメントが付くことでも、「このテーマに期待している人がいる」ということがわかる。そうすると、もう少しちゃんと考えてみるか、ということにもつながる。 そうやって、思考というのはフィードバックを得ることでどんどん形が作られていく。 自分だけではなく、他の人もこのエントリを見て何か別の意見を書くかもしれない。コメントもそういった意見のひとつだし、そこから考えを広げていく人がいるかもしれない。 思いついたけど詳細は他の人に考えて

    ブログは思考の叩き台 - きしだのHatena
    zu2
    zu2 2022/11/25
  • TwitterをSpaceXやTeslaと同じようにはエンジニアリングできないのでは - きしだのHatena

    Twitterを買収したイーロン・マスクが週80時間勤務に備えろといって、それができないなら退職という話をした結果、エンジニアを含め社員の多くが辞めたという話がでてます。 https://jp.reuters.com/article/twitter-departures-idJPKBN2S806D イーロン・マスクとしては、Teslaのようにハードに働く少数精鋭のチームを作りたいようです。 9.3/ 優秀な小規模チームを作るのが大事だと行っていて、TeslaのAutopilot AIチームにいる150人のエンジニアは競合の3,000人のエンジニアチームに勝っているとイーロンは語る— Tetsuro Miyatake (@tmiyatake1) 2022年11月11日 ただ、TeslaやSpaceXは製造業で、たとえばSpaceXならロケットを安く確実に作るというように、作るものは基的に決

    TwitterをSpaceXやTeslaと同じようにはエンジニアリングできないのでは - きしだのHatena
    zu2
    zu2 2022/11/25
  • ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」 カンペ - きしだのHatena

    昨日2022/10/27に行われた『ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」』のカンペです。 これを見ながら話してました。 前振り 今日はほんとに怖い話をするので、資料なしでやりますね。 昔話 ちょっと昔話をしましょう ぼくの最初の仕事PHPでした。PHP3とPostgreSQL英語学習サイトをつくるというものです。 当時webでプログラムを動かすというのは出たばかりで、請け負う業者がいなかった みんなVBやってましたからね なので大学追い出されたてで何の実績もないぼくに仕事がまわってきた。 もうちょっとして、東京の会社に声をかけられました。 で、iPhoneアプリをつくってほしいと。 これも、iphone出たばっかりで技術者がいなかった。 なので福岡のぼくに話がまわってきたわけですね。 共通するのは、新しい技術技術者がいないので実績ないけど仕事がまわってきたことで

    ゆるっとIT vol.12「3年ぶりに帰ってきたIT怪談」 カンペ - きしだのHatena
    zu2
    zu2 2022/10/29
    “でも同じ技術を高度に使う能力をひっさげてくるわけです。 技術かわらないんで勉強しなくても生きていけるんだけど、そうすると若者に圧倒的な差で窓際においやられますよ、という怖い話でした”
  • インスタンスとオブジェクトの違い - きしだのHatena

    インスタンスとオブジェクトは混同しがちで区別がようわからんになりがちです。 とりあえず某所で説明したものを再構成します。 ※2022/12/10追記: クラスに対するのはインスタンスになるべき(たとえばクラス変数とインスタンス変数)なので、ちょっと修正するべきですが、このエントリはそのまま残してます。 クラス・インスタンス・オブジェクト クラスをインスタンス化(実体化)したものがオブジェクト(物)です。 実際に在るものはクラスとオブジェクトで、インスタンスはそれらの関係です。colorsやsportsが並んでるツリーが「オブジェクト」で、右のパレットに並んでるTreeが「クラス」、Treeからみたときのツリーが「インスタンス」ということになります。 ここでツリーはオブジェクトでもインスタンスでもあります。 このように、同じものをオブジェクトともインスタンスともいうことができるので混同してし

    インスタンスとオブジェクトの違い - きしだのHatena
    zu2
    zu2 2022/09/17
    “結論 どうやってもややこしい”
  • オブジェクト指向は継承で多態するプログラミング - きしだのHatena

    オブジェクト指向って継承による多態があるからこそなんだけど、継承が非推奨になって以降に雰囲気でオブジェクト指向を知った人には、継承はオプションでカプセル化だけでオブジェクト指向って言ってしまいがちに思います。 実際はカプセル化はオブジェクト指向固有じゃなくて、クラスでカプセル化を実現してるだけです。 さまざまな人のオブジェクト指向の定義 来ならどのように継承こそがオブジェクト指向なのかという説明をするんですが、かなり長くなりそうなので、とりあえずはいろいろな人たちのオブジェクト指向の定義を抜き出してみます。 「ここに挙がってるのはオブジェクト指向の一派にすぎない」というような意見もありますが他の派閥についてまとまって定義され共通認識になっているようなものは見当たらないので、プログラミングの指針には なりづらいと思います。 ストラウストラップ C++を産んだストラウストラップは「C++の設

    オブジェクト指向は継承で多態するプログラミング - きしだのHatena
    zu2
    zu2 2022/08/25
  • なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena

    1990年代にオブジェクト指向分析・設計の方法論がめちゃ流行ったことがあります。 ただ、そのブームが終わって、後続となるような方法論が流行ることはありませんでした。 で、なぜなのか考えていたのですけど、オブジェクト指向方法論のウリは分析段階で出てきたオブジェクト(といいつつクラス)がコードにそのまま引き継がれるというものでした。ようするにオブジェクト指向方法論というのはコードのスケッチを書いて詳細化していくというものだったのです。 しかしながらこれは、スケッチとして書いた分析・設計が間違っていればコードも間違うわけで、強くウォーターフォールの性質をもつものでした。 結局のところスケッチの妥当性というのはコードを書かないと検証ができません。分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。逆に、コードを書けば妥当かどうかわかります。であれば、最初から

    なぜオブジェクト指向方法論に代わる方法論が出ないのか - きしだのHatena
    zu2
    zu2 2022/08/05
    “分析・設計段階で見出されたクラスが妥当かというのは、コード書かなければわからなかったのです。であれば、最初からコードを書く方が楽です”
  • オブジェクト指向は禁止するべき - きしだのHatena

    プログラムがまだ不慣れな人が「プログラムちょっとわかるようになったけど、まだぜんぜんオブジェクト指向とかできてません」のように言ったり、ちょっと慣れた人が「このソース、ぜんぜんだめ。オブジェクト指向ができてない」にようなことを言ったり、まるで、オブジェクト指向ができてるかどうかがよいプログラムかどうかを表すことになってるようだ。 Javaのアルゴリズムのに、「Javaなのにオブジェクト指向ができていない」のような書評がついているのを見たときには、お前は何を求めてるんだと思ったりもした。 そのようなオブジェクト指向は、窓から投げ捨てるべきだ。オブジェクト指向はプログラムのよしあしの基準にならない。 むだにHogeインタフェースとHogeImplクラスがあったり、むだにnewするだけのcreateメソッドがあったり、どこで値が設定されてるかわからないオブジェクトがひきまわされてたり、ソースコ

    オブジェクト指向は禁止するべき - きしだのHatena
    zu2
    zu2 2022/08/02
  • Javaのプログラムはコンパイルなしで動かせます - きしだのHatena

    Java 11から単一ソースファイルのJavaプログラムをコンパイルなしで直接javaコマンドで実行できるようになっているので、紹介動画を作りました。 例えば次のようなJavaプログラムをHello.javaという名前で保存したとします。 public class Main { public static void main(String[] args) { System.out.println("Hello Java!"); } } このプログラムはファイル1つだけで完結しているので、javaコマンドで次のように実行できます。 >java Hello.java Hello Java! ここで、クラス名はMainですが、ファイル名がHello.javaになっていることに注意してください。 javacでコンパイルしようとするとエラーが出ます。 >javac Hello.java Hello.

    Javaのプログラムはコンパイルなしで動かせます - きしだのHatena
    zu2
    zu2 2022/07/25
  • さよなら「あなたとJAVA」 - きしだのHatena

    みんなから愛された「あなたとJAVA」の役割が終わったようです。 「Java」で検索するとjava.comのサイトがひっかかるのですが、このサイトは古いまま放置されていて、Javaの学習を始める人にとっての罠になっていました。 https://www.java.com/ja/ 「あなたとJAVA」というキャッチコピーの脱力感と、「ダウンロー」で改行され「ド」だけが目立ってしまう間のヌケかたから大人気のサイトでしたが、かっこいいものではない・・・ もともとはJAVA+YOUで、2008年JavaOneのキャッチコピーでした。これは大文字だけのデザインだからよかったのだけど、日語訳するときJAVAだけ大文字で残ってしまい「JAVAではなくJava」の説得力をなくさせてくれていました。 それに、ほとんどの人がJavaのプログラミングの勉強をしようとして「Java」を検索するのにJREの配布サイ

    さよなら「あなたとJAVA」 - きしだのHatena
    zu2
    zu2 2022/05/25
  • 移動平均とスライディングウィンドウ - 「プロになるJava」ボツ原稿 - きしだのHatena

    「プロになるJava」ボツ原稿、今回は「13章 処理の難しさの段階」の「他のデータを参照する」のもうひとつの例として、移動平均やスライディングウィンドウの話題です。 13.1.1のあとに入る想定です。 プロになるJava仕事で必要なプログラミングの知識がゼロから身につく最高の指南書 作者:きしだ なおき,山 裕介,杉山 貴章技術評論社Amazon 他のデータを参照する 移動平均 隣のデータを参照しないといけない処理としてもうひとつ、 移動平均 を見てみましょう。移動平均は、日々の売り上げや来店者数など、バラツキのあるデータをなめらかにして傾向を見るときによく使われます。 一定区間の要素を取り出して平均をとり、その区間を移動させながら全体のグラフを書いていくので移動平均といいます。 src/main/java/projava/MovingAverage.java package proj

    移動平均とスライディングウィンドウ - 「プロになるJava」ボツ原稿 - きしだのHatena
    zu2
    zu2 2022/04/25
    “このようにすると、ウィンドウサイズに関わらず、データ件数だけに比例して処理時間がかかるようになります” 実数でハマりそう