はてなキーワード:分布とは
<script asyncsrc="https://platform.twitter.com/widgets.js" charset="utf-8"></script>小学生の頃クラス皆が小ザリをニホンザリガニと呼んでいたので、何回育ててもアメザリ化することや図鑑の分布から埼玉はあり得ないと説明したら僕以外の子達と言い合いになった。そんな時、担任が出てきて裁定を下す。「中村は生き物詳しいけど今回は多数決で負けね」と。
あれは正直今でもトラウマ。— okfish中村 (@okfishfarm)July 5, 2025
pythonimport randomimport numpyasnpimport matplotlib.pyplotas pltfrom collections importdefaultdict# 飴の配布システムのシミュレーションclass CandyDistributionSystem:def __init__(self): """設計意図: このシステムは経済における資源分配の不平等性をモデル化しています。特に少数の特権層(Aグループ)が富を集中させ、再分配システムからも不均衡に利益を得る構造的問題を表現しています。 """ # 各グループの人数設定 self.group_a_count = 8 self.group_b_count = 2498 self.group_c_count = 7494 self.total_participants = self.group_a_count + self.group_b_count + self.group_c_count # 飴の提出数設定 self.contribution_per_a = 624 self.contribution_per_b = 2 self.contribution_per_c = 1 # 各グループの総貢献計算 self.total_a_contribution = self.group_a_count * self.contribution_per_a self.total_b_contribution = self.group_b_count * self.contribution_per_b self.total_c_contribution = self.group_c_count * self.contribution_per_c self.total_contribution = self.total_a_contribution + self.total_b_contribution + self.total_c_contribution # 配布用と貯金用の飴の区分 self.distribution_limit =10000 self.savings =max(0, self.total_contribution - self.distribution_limit) # 結果追跡用の辞書 self.results = { 'A':defaultdict(int), 'B':defaultdict(int), 'C':defaultdict(int) }def distribute_candies(self, method='original'): """設計意図: 配布方法の選択によって、特権の固定化や格差拡大がどのように進むかを 示します。'original'メソッドは意図的にAグループを優遇するよう設計されています。 Parameters: ----------- method:str 配布方法 ('original', 'lottery', 'first_come', 'new_condition', 'fair') """ # Aグループへの確定配布 a_distribution = 625 * self.group_a_count remaining = self.distribution_limit - a_distribution # 残りの参加者数 remaining_participants = self.total_participants - self.group_a_count # Aグループの結果記録 for _ in range(self.group_a_count): self.results['A'][625] += 1 # 各配布方法によって処理が異なる if method == 'original': #オリジナルの問題設定通りの配布(5000人に1個ずつ、残りは0個) lucky_count = remaining # 5000人が当選 # B+Cグループの混合リスト作成 bc_participants = [(1, 'B')] * self.group_b_count + [(2, 'C')] * self.group_c_count random.shuffle(bc_participants) #当選者に配布 for i in range(len(bc_participants)): participant_id,group = bc_participants[i] if i < lucky_count: self.results[group][1] += 1 else: self.results[group][0] += 1 elif method == 'lottery': #抽選方式(BとCグループから無作為に5000人選出) bc_participants = [(1, 'B')] * self.group_b_count + [(2, 'C')] * self.group_c_count winners = random.sample(bc_participants, remaining) #当選・落選のカウント for _,group in winners: self.results[group][1] += 1 #落選者のカウント self.results['B'][0] = self.group_b_count - self.results['B'][1] self.results['C'][0] = self.group_c_count - self.results['C'][1] elif method == 'first_come': # 先着順方式(アクセス速度による先着順を乱数でシミュレート) #設計意図: 先着順は単なる運の要素を超えて、情報格差や技術格差も含む制度設計 bc_participants = [(1, 'B')] * self.group_b_count + [(2, 'C')] * self.group_c_count #現実では、情報を早く得られる人や高速インターネット接続を持つ人が有利 # これをシミュレートするため、Bグループにわずかなアドバンテージを与える bc_speeds = [] forid,group in bc_participants: ifgroup == 'B': speed = random.random() + 0.1 # Bグループに小さなアドバンテージ else: speed = random.random() bc_speeds.append((id,group, speed)) # 速度順にソート bc_speeds.sort(key=lambda x: x[2], reverse=True) #当選者決定 for i in range(len(bc_speeds)): _,group, _ = bc_speeds[i] if i < remaining: self.results[group][1] += 1 else: self.results[group][0] += 1 elif method == 'new_condition': # 追加条件方式(恣意的な条件を設定) #設計意図: 新たな条件の設定は往々にして既存の特権を温存するように設計される bc_participants = [(i, 'B', random.random()) for i in range(self.group_b_count)] + \ [(i, 'C', random.random()) for i in range(self.group_c_count)] # Bグループに有利な条件を設定(例:特定の知識やスキルを持つ人のみ) # この「条件」は表面上は中立的だが、実際には特定グループに有利になるよう設計def meets_condition(participant): _,group, rand_val = participant ifgroup == 'B': return rand_val> 0.3 # Bグループには70%の確率で合格 else: return rand_val> 0.7 # Cグループには30%の確率で合格 # 条件に合致する人を抽出 eligible = [p for p in bc_participants if meets_condition(p)] # 条件に合致する人が多すぎる場合は抽選 iflen(eligible)> remaining: winners = random.sample(eligible, remaining) else: # 条件に合致する人が足りない場合、全員に配布 winners = eligible #当選者をカウント for _,group, _ in winners: self.results[group][1] += 1 #落選者のカウント self.results['B'][0] = self.group_b_count - self.results['B'][1] self.results['C'][0] = self.group_c_count - self.results['C'][1] elif method == 'fair': # 公平な再分配方式(貢献度に応じた配布) #設計意図: この方法は「貯金分」も含めた全ての飴を、各グループの貢献度に応じて分配 # これにより構造的不平等を軽減、結果としてより多くの人が少なくとも損をしない状態になる # 全飴(貯金分も含む)を使った配布total_to_distribute = self.total_contribution # 各グループの貢献比率計算 a_ratio = self.total_a_contribution / self.total_contribution b_ratio = self.total_b_contribution / self.total_contribution c_ratio = self.total_c_contribution / self.total_contribution # 各グループへの配布数決定 a_share = int(total_to_distribute * a_ratio) b_share = int(total_to_distribute * b_ratio) c_share = int(total_to_distribute * c_ratio) # 端数調整 remainder =total_to_distribute - (a_share + b_share + c_share) if remainder> 0: # 端数は最も人数の多いCグループに c_share += remainder # Aグループの配布(均等配分) per_a = a_share // self.group_a_count self.results['A'][per_a] = self.group_a_count # Bグループの配布(均等配分) per_b = b_share // self.group_b_count b_remainder = b_share % self.group_b_count self.results['B'][per_b] = self.group_b_count - b_remainder if per_b + 1> 0 and b_remainder> 0: self.results['B'][per_b + 1] = b_remainder # Cグループの配布(均等配分) per_c = c_share // self.group_c_count c_remainder = c_share % self.group_c_count self.results['C'][per_c] = self.group_c_count - c_remainder if per_c + 1> 0 and c_remainder> 0: self.results['C'][per_c + 1] = c_remainderdef calculate_net_gain(self): """設計意図: この関数は各グループの純利益/損失を計算し、資源分配の公平性を定量的に評価できるようにします。純利益/損失は個人の観点から見た経済的公正性の重要な指標です。 """net_gains = {} # Aグループの純利益計算 a_contribution = self.contribution_per_a a_distribution = list(self.results['A'].keys())[0] # 全員が同じ数を受け取る前提net_gains['A'] = a_distribution - a_contribution # BとCグループの純利益計算(加重平均) forgroup, contribution_per_person in [('B', self.contribution_per_b), ('C', self.contribution_per_c)]:total_gain = 0 for received, count in self.results[group].items():total_gain += (received - contribution_per_person) * countnet_gains[group] =total_gain / (self.group_b_count ifgroup == 'B' else self.group_c_count) returnnet_gainsdef analyze_results(self): """設計意図: この分析関数は、各グループの分配結果を詳細に調査し、制度設計の公平性、貢献度と報酬の関係、およびシステムの持続可能性を評価します。政策分析においては、こうした多角的な検証が重要です。 """ # 各グループの純利益/損失net_gains = self.calculate_net_gain() # 貢献度分析 contribution_percentage = { 'A': (self.total_a_contribution / self.total_contribution) *100, 'B': (self.total_b_contribution / self.total_contribution) *100, 'C': (self.total_c_contribution / self.total_contribution) *100 } # 飴を受け取った人の割合 received_percentage = { 'A': sum(count for received, count in self.results['A'].items() if received> 0) / self.group_a_count *100, 'B': sum(count for received, count in self.results['B'].items() if received> 0) / self.group_b_count *100, 'C': sum(count for received, count in self.results['C'].items() if received> 0) / self.group_c_count *100 } #分析結果の表示print("\n===== 飴の配布システム分析 =====")print(f"総飴数: {self.total_contribution}個 (分配用: {self.distribution_limit}個,貯金: {self.savings}個)")print("\n---グループごとの貢献と結果 ---") forgroup in ['A', 'B', 'C']:group_size =getattr(self, f"group_{group.lower()}_count") contribution_per_person =getattr(self, f"contribution_per_{group.lower()}")total_contribution =getattr(self, f"total_{group.lower()}_contribution")print(f"\n{group}グループ ({group_size}人):")print(f" 貢献: 1人あたり{contribution_per_person}個 (総計: {total_contribution}個, 全体の{contribution_percentage[group]:.1f}%)")print(f" 受け取り状況:") for received, count in sorted(self.results[group].items()):print(f" {received}個: {count}人 ({count/group_size*100:.1f}%)")print(f" 飴を受け取った割合: {received_percentage[group]:.1f}%")print(f"純利益/損失: 1人あたり平均 {net_gains[group]:.2f}個")print("\n--- 全体的な公平性分析 ---")print(f"最も得したグループ: {max(net_gains,key=net_gains.get)}グループ (+{max(net_gains.values()):.2f}個/人)")print(f"最も損したグループ: {min(net_gains,key=net_gains.get)}グループ ({min(net_gains.values()):.2f}個/人)") # 全員に飴が配布されたかどうかall_received =all(sum(count for received, count in self.results[group].items() if received> 0) ==getattr(self, f"group_{group.lower()}_count") forgroup in ['A', 'B', 'C'])print(f"\n前提条件「全員に配布」の充足: {'はい' ifall_received else 'いいえ'}") if notall_received:total_without = sum(self.results['B'][0] + self.results['C'][0])print(f" 飴を受け取れなかった人数: {total_without}人") returnnet_gains, contribution_percentage, received_percentagedef visualize_results(self): """設計意図:データの可視化は政策の効果や不平等性を直感的に理解するために重要です。 このようなグラフィカル表現によって、各グループ間の格差や制度設計の問題点を 一目で理解できるようになります。 """ #グラフのセットアップfig, axes = plt.subplots(2, 2,figsize=(14,10)) # 1. 貢献度のグラフ contributions = [self.total_a_contribution, self.total_b_contribution, self.total_c_contribution] axes[0, 0].bar(['Aグループ', 'Bグループ', 'Cグループ'], contributions) axes[0, 0].set_title('グループごとの総貢献飴数') axes[0, 0].set_ylabel('飴の数') # 貢献度の割合をアノテーションとして追加total = sum(contributions) for i, v in enumerate(contributions): percentage = v /total *100 axes[0, 0].text(i, v +100, f'{percentage:.1f}%', ha='center') # 2. 1人あたりの貢献度と受け取り数の比較group_names = ['Aグループ', 'Bグループ', 'Cグループ'] contribution_per_person = [self.contribution_per_a, self.contribution_per_b, self.contribution_per_c] # 各グループの平均受け取り数を計算 received_per_person = [] forgroup, letter inzip(group_names, ['A', 'B', 'C']):total_received = sum(received * count for received, count in self.results[letter].items())group_size =getattr(self, f"group_{letter.lower()}_count") received_per_person.append(total_received /group_size) x =np.arange(len(group_names)) width = 0.35 axes[0, 1].bar(x - width/2, contribution_per_person, width, label='提出') axes[0, 1].bar(x + width/2, received_per_person, width, label='受け取り') #純利益/損失をアノテーションとして追加 for i in range(len(group_names)):net = received_per_person[i] - contribution_per_person[i]color = 'green' ifnet>= 0 else 'red' axes[0, 1].text(i,max(received_per_person[i], contribution_per_person[i]) + 5, f'{"+" ifnet>= 0 else ""}{net:.1f}', ha='center',color=color) axes[0, 1].set_title('1人あたりの提出・受け取り飴数比較') axes[0, 1].set_xticks(x) axes[0, 1].set_xticklabels(group_names) axes[0, 1].set_ylabel('飴の数') axes[0, 1].legend() # 3. 各グループの受け取り状況の分布 # 各グループの受け取り状況を積み上げ棒グラフで表現group_sizes = [self.group_a_count, self.group_b_count, self.group_c_count] received_counts = [] not_received_counts = [] for letter, size inzip(['A', 'B', 'C'],group_sizes): received = sum(count for received, count in self.results[letter].items() if received> 0) received_counts.append(received) not_received_counts.append(size - received) axes[1, 0].bar(group_names, received_counts, label='飴を受け取った人数') axes[1, 0].bar(group_names, not_received_counts, bottom=received_counts, label='飴を受け取れなかった人数') #割合をアノテーションとして追加 for i in range(len(group_names)): ifgroup_sizes[i]> 0: percentage = received_counts[i] /group_sizes[i] *100 axes[1, 0].text(i, received_counts[i] / 2, f'{percentage:.1f}%', ha='center') axes[1, 0].set_title('グループごとの飴受け取り状況') axes[1, 0].set_ylabel('人数') axes[1, 0].legend() # 4. 貢献度vs報酬の分配公平性 # 貢献度と最終的な飴の配分の比較を円グラフで表現total_contribution = self.total_contribution contribution_shares = [self.total_a_contribution /total_contribution, self.total_b_contribution /total_contribution, self.total_c_contribution /total_contribution] # 実際の配分シェアを計算 distribution_shares = [] for letter in ['A', 'B', 'C']:total_received = sum(received * count for received, count in self.results[letter].items()) distribution_shares.append(total_received / self.distribution_limit) # 2つの円グラフを並べて表示 ax4_1 = axes[1, 1].inset_axes([0, 0, 0.45, 1]) ax4_2 = axes[1, 1].inset_axes([0.55, 0, 0.45, 1]) ax4_1.pie(contribution_shares, labels=group_names, autopct='%1.1f%%') ax4_1.set_title('飴の貢献度割合') ax4_2.pie(distribution_shares, labels=group_names, autopct='%1.1f%%') ax4_2.set_title('飴の配分割合') axes[1, 1].axis('off') plt.tight_layout() plt.show()# 飴の配布システムをシミュレートcandy_system = CandyDistributionSystem()#オリジナルの配布方法を実行print("\n=====オリジナルの配布方法 =====")candy_system.distribute_candies(method='original')original_results = candy_system.analyze_results()candy_system.visualize_results()# 公平な配布方法を実験print("\n\n===== 公平な配布方法のシミュレーション =====")fair_system = CandyDistributionSystem()fair_system.distribute_candies(method='fair')fair_results = fair_system.analyze_results()fair_system.visualize_results()# 公平な配布と元の配布の比較print("\n\n===== 配布方法の比較 =====")print("オリジナル方式と公平方式の純利益/損失差:")net_diff = {}forgroup in ['A', 'B', 'C']:original_net =original_results[0][group] fair_net = fair_results[0][group]diff = fair_net -original_netnet_diff[group] =diffprint(f"{group}グループ: {'+' ifdiff> 0 else ''}{diff:.2f}個/人")print("\n結論:")ifnet_diff['A'] < 0 andnet_diff['B']> 0 andnet_diff['C']> 0:print("公平な再分配により、Aグループの特権が減少し、BとCグループの状況が改善されます。")print("これは構造的不平等の緩和に効果的です。")elifnet_diff['A']> 0:print("興味深いことに、公平な再分配ではAグループさえも利益を得られます。")print("これは、現行システムが特定グループだけでなく全体の非効率性につながっていることを示唆しています。")
国際結婚界隈にいるけど白人女性と結婚してる日本人男性って日本人ぽいソフトな気遣いとリベラルさ、フェミニストさみたいなのを兼ね備えてるすごい貴重人材って感じはする 日本人女性からも問題なく好かれる人っていう感じ
白人男性と結婚してる日本人女性はアグレッシブなリベラルな人も消極的なコンサバな人もいて日本人男性と結婚してる日本人女性とそんなタイプの分布は変わらない
LLM は「次の単語を予測しているだけ」で意味を理解していない──という指摘に反論してみる。
「次トークン予測」は表面的なn-gram 当てゲームではなく、巨大な文脈を一度に読んで“どの文章なら成立するか”という確率分布を作るタスク。Anthropic の可視化研究では、Claude が韻を踏む単語を前もって計画している内部回路が観測されている。
GPT-4 相当のモデルは司法試験や大学入試、APCalc などで人間平均を超えるスコアを記録。これは暗記だけでなく意味・論理の運用ができないと無理。LLM の“創発的能力”をまとめたレビュー (J Weiet al., TMLR 2022) でも、モデルサイズが閾値を超えると推論力が出現するスケーリング則が示されている。
Anthropic の「AI Microscope」チームは、同じ質問を英・仏・中で与えても共通の概念特徴が活性化することを報告。モデル内部では単語列ではなく、言語非依存の意味空間で思考している証拠を示している。
Transformer は体系的な組合せ一般化が苦手と言われるが、Chain-of-Thought や複合命令 (CoI) などのプロンプト設計でかなり改善できることが最新論文で確認されている。
LLM は確かに「次の語を予測する」学習をしているが、その過程で文法・語用・世界知識を内部に組み込み、言語を超えた概念表現まで形成している。「予測タスク=理解ゼロ」と断じるのは、最新の実験データには合わない。
「地球温暖化で1.2℃上昇」といった数字は、地球全体の年間平均気温の変化です。
つまり、南極や赤道直下の海も含んだ全地点の平均で、平滑化された数字。
実際には、場所や季節によっては5℃以上の変化が起きている地域もあります。
👉 たとえば:
温暖化は「平均気温の上昇」だけでなく、極端な気温(猛暑日や熱帯夜)の増加として現れます。
たとえば、同じ「平均1.5℃上昇」でも、日中の最高気温は5℃近く上がることがあるのです。
これは気温分布の「しっぽ」が伸びてる(極端な方が増える)と考えると分かりやすいです。
あなたの子供の頃より今のほうが街がコンクリートやアスファルトで覆われているはずです。
この都市化により、夜間の気温が下がりにくくなり、昼間は蓄熱して気温が上がりやすくなる。
👉特に東京や大阪などでは、ヒートアイランドだけで気温が2〜3℃上昇しているとのデータもあります。
温暖化により湿度も高くなりがちで、「体感温度」はより高く感じます。
「昔の35℃」と「今の35℃」は湿度が違うと感じ方が全然違う。
あなたが感じる「昔よりずっと暑い」のは正しい感覚で、主に以下が組み合わさっています:
つまり、「平均1℃の上昇」と「日常の暑さの激変」は矛盾していないどころか、その“1℃の上昇”がどれほど強烈な変化をもたらすかの一例なんですね。
たしかに軒並み犯罪発生数は低いのに性犯罪は多いとされるのは不思議だ
体感の話では旅行や留学ではスリや犯罪にあいやすいという話と数値が一致しているのに痴漢や性的ハラスメントになると少なく、女性はストレスが減ると言われている
そして国内には未届けの性犯罪の話がごろごろしている、窃盗や殺人にはもちろんあったことがないのに
海外では貧富の差があるから犯罪の発生の分布が偏っているとか?階層の違う人間から攻撃されることで起こっている犯罪と、知り合いの人間や同じ階層の人間の中で起きている犯罪とで性質の違いがある?
日本の犯罪率が低いことに貧富や教育の差が少ないことが関係しているのは良く言われることだが、性犯罪で捕まっている人間は特に貧しかったり恵まれていないわけではなく、普通の暮らしをしている人と差がないようにみえる、ここにギャップの理由があるのかもしれない
LLMで人間のように行動する仮想的な住民を最大100万人分作り出し、都市全体をシミュレーションするシステムを作ったとのこと。
研究者らは、AIに人格や記憶、欲求、長期的な目標を与えることに成功。
お腹が空いたり疲れたりといった基本的な欲求に加えて、社会的なつながりといった高次の欲求も持っています。
そして仮想住民一人一人が過去の経験を覚えていて、それに基づいて行動を決めます。
東京を舞台に設定し1000人分のシミュレーションを行ったところ、平日の通勤ラッシュや週末のレジャー行動、買い物パターンなどが、日本政府の実際の統計データと非常によく一致していたそうです。
渋谷の人混みの分布や、どの店が人気になるかの予測も、現実のデータとかなり近い結果が得られています。
なお、こうしたシミュレーションでは、学習データに含まれる偏見や先入観が反映される可能性があるリスクに気を付けなければいけません。
とはいえ、都市計画や災害対策、商業施設の立地計画など、実際に人を使った実験では難しい様々なシナリオを安全かつ低コストで検証できるツールとして期待されています。
これ読んで思ったんだけどさあ。
で、右の人と左の人の意見を見て、これは左の方が同意できるかなーいやでもこれは右の方が同意できるか? みたいに色々迷ってるんだけれども。
もしさあ、仮にAIシミュレーションで色々実験してみて、「右も左もギョッとするような一見素っ頓狂なアイデア」が最大幸福に繋がるって分かったら、どうなるんだろうな。
それを掲げる超テック政党、言うなればチームみらいの(ある意味)進化系みたいなのが現れたとき、選ぶ人はどれくらい現れるんだろう。
学校での集団過呼吸・体調不良は女性に多い?その実態と原因をファクトチェック
学校の現場で生徒が次々と過呼吸発作や原因不明の体調不良を訴える現象は、医学的には集団心因性疾患(いわゆる集団ヒステリーまたは集団パニック)と呼ばれます 。具体的には、ある集団内で一人が過換気(過呼吸)発作や失神、けいれん、歩行困難などの症状を示すと、それを目撃した他のメンバーにも同様の身体症状や一時的な意識障害・興奮状態が連鎖的に広がる現象です 。これらの症状には共通の有機的原因(感染症や中毒など)が見当たらず、心理的要因による無意識の模倣・暗示によって伝播すると解釈されます 。典型的には思春期の生徒たちが属する学校のクラスや部活動など、閉鎖的で仲の良い小集団で発生しやすいことが知られています 。
こうした集団発生事例では、最初に症状を起こした生徒(発端者)に対し、周囲の生徒が不安・驚きなど強い感情を抱き、その影響で過呼吸やめまいなどの症状を次々と訴えるようになります。医学的検査を行っても明確な身体的異常所見はなく、多くの場合、集団が落ち着き安心すると症状は速やかに治まります。これらは**「心因性」で実際の伝染性病原体は存在しない**ため、専門家は「対応を誤って大事にしすぎないこと」「冷静に安全を確保しつつ集団を一時的に解散させること」が再発防止に重要だと指摘しています  。
学校における集団過呼吸・集団体調不良は「女子生徒に多い」と言われることがありますが、これは事実と言えるでしょう。医療文献によれば、思春期・学童期の集団心因性疾患は女性に不均衡に多く発生することが繰り返し報告されています  。米国の調査では「集団ヒステリーはストレス下の児童や思春期のグループに多発し、男性よりも女性が著しく多い」と明記されています 。また2021年に発表された32件の研究をまとめたメタ分析によると、児童・生徒の集団ヒステリーにおいて女子の罹患率は男子の約2.43倍にも上ることが示されています  。このように数値データから見ても女子に多い傾向は明らかです。
日本においても、学校で発生する集団過呼吸・体調不良の事件はニュース等で度々報じられており、その多くで当事者は女子生徒です。例えば2006年7月、千葉県のショッピングセンターで女子中学生11人が次々に過呼吸やパニック症状を起こし搬送される騒ぎがあり、東京新聞の報道によれば「過去1年だけでも秋田、埼玉、大阪、山口、佐賀で同様の過呼吸連鎖が起きていた」とされています 。2013年6月には兵庫県の高校で1年生と3年生の女子生徒計18人が集団で過呼吸症状を訴えて病院に搬送される出来事もあり、学校側は「誰かの発作や救急車の到着を見て連鎖的に増えたのではないか」とコメントしています  。このように、日本の学校現場でも女子生徒が中心となった集団過呼吸事件が各地で確認されています。
海外の事例を見ても、集団ヒステリーは決して日本特有ではなく、むしろ世界各地で歴史的にも繰り返し記録されています。その多くで若い女性や女子学生が主な当事者です。1965年にはイギリス・ブラックバーンの女子校で85人の女子生徒が相次いで原因不明の失神発作を起こし社会問題となりました 。2010年代のアフガニスタンでは各地の女子校で多数の女子生徒が突然めまい・吐き気を訴えて倒れる事件が続発し、当初「毒ガス攻撃」と疑われましたが、国連などの調査で有毒物質は検出されず集団心因性の発作と結論付けられたケースもあります  。これらの事例からも、学校で集団発生する原因不明の体調不良は女子に多いという傾向は国を超えて共通していると言えます。
では、なぜこのような集団心因性の症状は女性に多いのでしょうか。専門家たちは心理的要因と生物学的・生理学的要因の両面からいくつかの仮説を提唱しています。それらを整理すると以下の通りです。
• 高い被暗示性と無意識の模倣(モデリング):集団ヒステリーでは、後から症状を訴える人々(続発者)が発端者を無意識に模倣・同一化してしまうことが大きな要因です 。一般に女性は共感性が高く、他者の感情や振る舞いに影響されやすい傾向があるとされます。実験的研究でも、女性参加者は他の人(特に同性)が「具合が悪い」と訴える場面を見ると、自分も頭痛やめまい等の症状を感じやすくなることが示されています 。一方、男性では他者の症状を見ても影響されにくい傾向がありました  。この暗示へのかかりやすさの性差が、女性に症状が多い一因と考えられます。
•ミラーニューロンの活発さ:人間の脳には、他者の行動や表情を見ると自分がそれをなぞるように活動するミラーニューロン系があります。この働きは共感や模倣の神経基盤とされますが、研究者の中には「女性は男性よりミラーニューロン系の反応が強い可能性がある」と指摘する者もいます 。実際、自閉スペクトラム症(共感や他者の感情理解の困難さを特徴とし男性に多い発達障害)ではミラーニューロン系の活動低下が示唆されるのに対し、集団ヒステリーはその逆でミラーニューロン系の過活動による現象とも位置づけられています 。この仮説によれば、女性は生得的に他人の状態を自分のことのように感じ取りやすいため、目の前の友人が倒れると自身も息苦しさや眩暈を感じてしまうというわけです 。
•不安反応・過呼吸の生理的な出やすさ:パニック発作や過呼吸発作といった急性の不安反応そのものも、疫学的には女性に多い現象です。例えばパニック障害(突然の強い不安発作に襲われる症状)は男性より女性に約2~3倍起こりやすいことが知られています 。過換気症候群(過呼吸発作)の有病割合については、調査によっては女性:男性が7:1にもなると報告されています 。このように生理学的ストレス反応における性差(ホルモンバランスや自律神経反応の違いなど)が、女性の方が過呼吸や失神を起こしやすい下地になっている可能性があります。言い換えれば、同じストレスを受けても女性の方が**「息が苦しい」「めまいがする」**といった身体症状として表出しやすい素因があるかもしれません。
以上のように、心理面での暗示へのかかりやすさ・共感性の高さと、生物学的な不安反応の出やすさが相まって、女性グループで症状が伝染しやすいと考えられます。実際、専門家も「集団ヒステリーで女性患者が多いのは、症状のモデリング(見本)の影響を受けやすい性差による可能性が高い」と結論づけています 。
集団ヒステリーにおける社会的・文化的背景も、女性に多い現象となっている一因です。まず、社会・集団内での役割や人間関係の違いが指摘できます。若い女性(特に思春期の女子生徒)は、同年代の仲間内で強い仲間意識を持ちやすく、閉鎖的で密接なグループを形成しやすいとされます 。その結果、グループ内で感情や行動を同調させる傾向が強く、誰か一人の異変に対し他のメンバーが過敏に影響を受けやすいのです 。実際、1960年代アメリカの工場における集団ヒステリー研究でも、症状が出た人々は互いに強い社会的つながりを持つグループに属していたことが報告されています 。男子生徒のグループでも友情はありますが、当時の社会通念や教育環境の中で女子の方が感情を共有しやすい関係性を築いていることが多く、これが集団ヒステリーの伝播を助長している可能性があります。
また、社会文化的な性役割や表現の違いも影響しうるでしょう。伝統的に多くの文化圏で、女性は体調不良や不安を訴えることに比較的寛容である一方、男性は「弱音を見せない」ことが男らしさとされる場面があります。そのため男性にも同様の心因反応が起きていても表面化しにくい可能性も考えられます。実際、歴史を振り返ると19世紀にはヒステリー(転換性障害)は女性特有と見なされていましたが、第一次世界大戦で多くの男性兵士が**「シェルショック」(砲撃ショック=心因性の神経症状)を発症すると、この性差の偏見は薄れていきました 。つまり、男性にも状況次第で集団ヒステリー様の反応が起こりうるものの、社会的な目や自己抑制によって顕在化しにくい**だけかもしれません。
文化的要因としては、その社会ごとにストレス源や症状の表現のされ方が異なる点が挙げられます。日本の学校では部活動中の疲労や教師からの叱責といった出来事が引き金になるケースがある一方、海外では地域の信念や風聞が誘因となる例も報告されています。例えばマレーシアやインドの一部では、女子生徒の間で突然誰かが取り乱すと「悪霊に取り憑かれた」と解釈され、パニックが伝染したケースがあります 。中東のアフガニスタンやイランでは、女子校で謎の有毒ガス攻撃の噂が広まり、実際に多くの女子生徒が呼吸困難や失神を訴えた事件が起きました(前述の通り後に物理的毒物は確認されず心因性と推定されています) 。このように、その社会が置かれた状況(宗教的な世界観、社会不安や葛藤、噂の内容など)が集団ヒステリーの誘因や症状像を左右しますが、いずれの場合も思春期前後の女性が主要な当事者である点は共通しています 。
さらに集団の環境要因として、都市部より農村部で発生しやすいとのデータもあります。先述のメタ分析では、農村地域の学校における集団ヒステリーの発生率は都市部の約2倍という結果が示されました(農村部11.1%、都市部5.6% )。農村では人間関係が密で噂が広がりやすいことや、医療リテラシーの差などが背景にある可能性があります。この点でも、集団ヒステリーは社会的環境に影響される現象であり、日本のみならず海外でも閉鎖的・保守的なコミュニティほど起こりやすい傾向が見て取れます。
学校で起こる集団過呼吸・集団体調不良に女性が多いという傾向は事実であり、これは単なる思い込みではなくデータや専門家の分析によっても裏付けられています。主な要因として、女性の方が心理的に周囲の影響を受けやすく、生理的にも不安反応が出やすいこと、そして女子生徒同士の強い結束や同調傾向が症状の連鎖を助長することが挙げられます。加えて、文化・社会的背景がこの現象の表れ方に影響を与えますが、世界的に見ても同年代の男性グループに比べ女性グループで頻発するのは共通した特徴です  。以上のことから、学校における集団過呼吸や集団ヒステリーは「女性に多い」とされるのは概ね事実であり、その原因は生得的な要因と社会的な要因が複雑に絡み合った結果と考えられます。そのため、この現象を理解・対策するには、生物学・心理学的視点に加え、教育現場におけるストレス要因の軽減や冷静な対応、噂の拡散防止など社会環境への働きかけも重要となるでしょう  。
参考資料:
• Jones, T.F. 「Mass Psychogenic Illness: Role of the Individual Physician」 American Family Physician 62(12):2649-2653 (2000)  
• Gang Zhaoet al. 「Mass hysteria attack rates in childrenand adolescents: a meta-analysis」 Journal ofInternational Medical Research 49(12): 1–15 (2021)  
•平凡社 「改訂新版世界大百科事典」「集団ヒステリー」項(執筆:臼井宏・野上芳美)  
• Lorber, W.et al. “Illnessby suggestion: Expectancy, modeling, andgender in the production of psychosomatic symptoms.” Annals of Behavioral Medicine33(1):112-116 (2007) 
•中田収 「過換気症候群」『日本呼吸器学会専門医制度専門医講習会要旨集』(2014) 他   (過呼吸症状の性差に関する記述)
• Shirin Daft, 「イランで呼吸困難や吐き気が続出──女子教育を狙った『毒ガス』か『集団ヒステリー』か」ニューズウィーク日本版 (2023年3月13日) 
勉強してるときに、範囲の広さに心が折れそうになってSNSで同じ声を探してたら、「準1級って1級より難しいんじゃね?」って声があって、なんなら1級のほうがよかったかなぁってはちょっと思った。
統計って、現実をうまいこと解釈するためのもんで、統計学の公式の証明とかできても仕方ないんじゃないかなと思った。
これが、数学の勉強だったら証明は大事だろうけど、統計の勉強であそこまで踏み入るのはどうかなぁっと。
それから、あそこまで踏み込むならアクチュアリーのほうが実益があるんじゃない?って思ったりした。
あと、統計検定って2級より準1級が上、準1級より1級が上っていう単純な序列でもないんじゃないかなと。
2級で出てくるラスパイレス指数とかパーシェ指数とか、いきなり準1級やってたら知らんかったろうし、準1級で出てくる範囲も1級では出てこないところがごまんとあるわけじゃん。
1級とってから準1級の勉強をする価値はあると思うけど、それはだるいし、準1級、1級と1つずつステップアップしたほうが幅広い知識がつくんじゃないかな。
にしても、準1級の範囲は広すぎだろって思うけど。
まだ受かったばかりだけど、様々なジャンルの専門書を読むときに、準1級の知識があるとわりと挫折して読んでいけるんじゃないかなって期待してる。
昔読んだ、森岡毅の『確率志向の戦略論』を読み返してるんだけど、ガンマ分布の理解があがったのでそこで躓かないし、負の二項分布の数式が準1級でやったときと違うのでそこでいろいろ考えるところもあるし、自分のなかのレベルが上がってきてるのは実感してる。
大規模言語モデル(LLM)の根幹にあるのは数学的な原理です。
ここでは、その仕組みを3つの要点に絞って、数式を交えながらシンプルに解説します。
LLMの最も基本的なタスクは、「ある単語の並び(文脈)が与えられたときに、次に来る単語は何か?」を確率的に予測することです。これを数式で表すと、以下のようになります。
LLMは、インターネット上のブログ記事や書籍といった膨大なテキストデータを読み込みます。
そして、文章中のあらゆる箇所で「次の単語」を予測するクイズを延々と解き続けます。
モデルは、P(晴れ |今日の天気は) の確率が100% (または1.0)に近づくように、内部のパラメータ(後述する重み)を少しだけ調整します。
このプロセスを何十億、何兆回と繰り返すことで、モデルは単語の様々なつながり方や文法、さらには世界の知識に関するパターンを学習していきます。
学習済みのモデルに「AIの未来は」と入力すると、モデルは語彙に含まれる全単語に対して、次に来る確率を計算します。
...
そして、最も確率の高い「明るい」を選んだり、確率分布に従ってランダムに単語を選んだりすることで、文章を生成していくのです。
では、どのようにしてLLMは単なる単語の並びだけでなく、複雑な文脈を理解するのでしょうか?
その技術が Transformerであり、その学習を支えるのがバックプロパゲーション です。
Transformerの最大の特徴は自己注意機構 (Self-Attention) です。
これは、文章中の単語同士の関連性の強さを計算し、どの単語に「注意」を向けるべきかを判断する仕組みです。
例えば、「その猫は疲れていた。なぜなら一日中ネズミを追いかけていたからだ。」という文において、「その猫」が「疲れていた」理由を理解するためには、「追いかけていた」という単語との関連性が重要です。
自己注意機構は、各単語について以下の3つのベクトルを生成します。
そして、以下の計算(概念式)によって、文脈を反映した新しい単語表現を作り出します。
Attention(Q, K, V) = softmax( (Q Kᵀ) / √(dₖ) ) V
1. Q Kᵀ: Queryと各Keyの関連度(内積)を計算します。似ている単語ほど値が大きくなります。
2. / √(dₖ): 値が大きくなりすぎないように調整します(スケーリング)。
3. softmax:計算した関連度スコアを、合計が1になる確率分布に変換します。これにより、関連性の強い単語ほど高い重みが与えられます。
4. V: この重みを使って、各単語の情報(Value)を重み付けして足し合わせます。
この結果、単語は元の意味だけでなく、「文脈の中でどのような役割を果たしているか」という情報を含んだベクトルに変換されます。
Transformerはこの処理を何層も積み重ねることで、非常に複雑で長期的な依存関係を捉えることができるのです。
バックプロパゲーション(誤差逆伝播法)は、モデルの予測と正解との「誤差」を計算し、その誤差を小さくするために、モデル内の膨大な数のパラメータ(重み)をどう調整すればよいかを教えてくれるアルゴリズムです。
1. 順伝播 (Forward Pass):入力(コンテキスト)をTransformerに通し、次の単語の確率分布を予測します。
2. 損失計算 (Loss Calculation):予測した確率分布と、正解の単語とのズレ(誤差)を損失関数(例:クロスエントロピー誤差)で計算します。損失が大きいほど、予測が間違っていることを意味します。`Loss = -Σ yᵢlog(pᵢ)` (yᵢ は正解なら1, それ以外は0。pᵢ はモデルの予測確率)
3. 逆伝播 (Backward Pass): この損失を、出力層から入力層に向かって逆方向に伝播させます。微分の連鎖律を使い、「各パラメータが最終的な損失にどれだけ貢献したか(=勾配)」を計算します。
4.パラメータ更新: この勾配に基づき、損失が小さくなる方向へ各パラメータを少しだけ更新します。
この「予測 → 誤差計算 → 勾配計算 →更新」というサイクルが、LLMの学習の基本です。
バックプロパゲーションで計算された勾配を使って、具体的にどのようにパラメータを更新するかを決めるのがオプティマイザ(最適化手法)の役割です。
最も基本的な考え方は、損失という名の「谷」の底(最小値)に向かって、勾配(傾き)が最も急な方向に一歩ずつ下っていく勾配降下法 (GradientDescent)です。
θ_new = θ_old - η ∇L
現在、最も広く使われているオプティマイザの一つが Adam です。これは、勾配降下法をより賢くしたもので、主に2つの工夫がされています。
1.慣性 (Momentum):過去の勾配の移動平均を保持します。これにより、坂道を転がるボールのように、同じ方向に進み続ける場合は加速し、学習が停滞しにくくなります。
2.適応的な学習率 (Adaptive LearningRate):パラメータごとに学習率を自動で調整します。頻繁に更新されるパラメータは慎重に(学習率を小さく)、あまり更新されないパラメータは大胆に(学習率を大きく)更新することで、学習を効率化します。
Adamのような優れたオプティマイザがあるからこそ、何十億ものパラメータを持つ巨大なLLMを、現実的な時間で安定して学習させることができるのです。
Transformer というアーキテクチャが、自己注意機構によって文脈を理解し、次の単語の確率 P(next token | context) を予測する。
その予測と正解の誤差をバックプロパゲーション で計算し、その誤差を最小化するように Adam などのオプティマイザがモデルのパラメータを効率的に更新する。
エアコンとは、正式名称を「エアコンディショナー(Air Conditioner)」といい、室内の空気の温度や湿度などを調節する空調設備のことです。
日本では1950年代に初めて国産のエアコンが製造され、当時は「クーラー」と呼ばれていましたが、冷房機能だけでなく暖房機能も持つようになったことで「エアコン」という名称が一般的になりました。現在、家庭で使われている空調機器のほとんどは、冷暖房兼用のエアコンです。
エアコンの主な働きは以下の通りです。
温度調整(冷房・暖房): 部屋の温度を快適な状態に保ちます。
湿度調整(除湿): 部屋の湿度を下げて、じめじめ感を解消します。
空気の清浄(除塵・空気の汚れ):フィルターを通して空気中のホコリや汚れを取り除きます。
エアコンの仕組みは、主に「冷媒(れいばい)」という特殊なガスが、液体と気体を行き来する際に熱を吸収したり放出したりする性質を利用しています。
具体的には、エアコンは「室内機」と「室外機」で構成されており、これらが配管でつながっています。
室内機が室内の暖かい空気を取り込み、熱交換器で空気中の熱を冷媒に伝えます。
室外機で冷媒が圧縮されると高温になり、室外機の熱交換器で外へ熱を放出します。
熱を放出した冷媒は液体に戻り、膨張弁で圧力を下げられ、さらに低温になります。
低温になった冷媒が再び室内機に戻り、このサイクルを繰り返すことで、室内の空気が冷やされます。
冷房とは逆の働きで、室外機が外の空気から熱を取り込み、冷媒に伝えます。
熱を吸収した冷媒は室外機で圧縮され高温になり、室内機へ送られます。
室内機の熱交換器で冷媒が熱を放出し、その熱が暖かい風として室内に送られます。
熱を放出した冷媒は液体に戻り、膨張弁で圧力を下げられ、室外機に戻ります。
このように、エアコンは冷媒という熱を運ぶ物質を循環させることで、室内の熱を外に移動させたり、外の熱を室内に取り込んだりして、快適な室温を保っているのです。
すっかりどこまで書いたか忘れた。
2021年の終わりに↓これを読んだあたりまでだったな。
「Pythonで学ぶ実験計画法入門 ベイズ最適化によるデータ解析」
すげーいい本だったんだけども、実際に活用する場がないんで(なにせ頭を使わない仕事なんで)読みっぱなし。
今考えるとよくないね。
実は、この本に出てくるD最適計画、それからサポートベクター回帰っていうやつが1年後くらいにちょっと役立ったのだけど、それは後の話。
「ゼロつく」のときは理解できなかったクラスの概念も、このころにはすっかり便利さを実感することに。
ここで、もう一度「ゼロつく」に戻ればよかったんだけど、ここまでくると、自分の仕事周りのデータに対しては深層学習って不要だなって思って、戻ることはなかった。
前のエントリで書いた放送大学で「Rで学ぶ確率統計」の単位を無事に取れて調子に乗ってたので、せっかく入学したのだからといくつか授業取ってみた。
統計とかプログラミングの勉強については、「データの分析と知識発見」「コンピュータービジョン」「データベース」の三つかな。
それとは別に人文系の科目も調子に乗って履修してる。もともと数学とか嫌いで歴史とかのほうが好きだし。
「データの分析と知識発見」ってのは、Rを使うやつで、今考えれば多変量解析の入門って感じ。
「コンピュータービジョン」はクッソ難しかったな。
OpenCVってやつの使い方をサクっとパパっと知れるんかと思ったら、ガッツリとエピポーラ幾何とかいうやつから入って行列三昧だったし。
線形代数を知らないエセ理系舐めんなよ!わかるわけねーだろ(今までの本でも行列を触ってきてたけど、雰囲気でなんとかいける、あるいは読み飛ばしてもそういうもんと思って次に進めた。うまく言えないんだけど、100次元とかあるともう諦めてそういうもんだって割り切れるじゃん?3次元くらいだと、ちゃんと現実に戻ってこれないと困るから、ホントに理解できてないのが自覚させられる)
「データベース」もお気楽にSQLマスターできるもんかと思ったら、歴史から入ってガッツリと三層スキーマなにやら、SQL触るのなんてちょびっとだった。
で、このへんでいろんな方向に手を延ばすのもだけど、1つ資格でも取ってみようかなと思って、統計検定に手を出してみた。
大学がエセ理系のポンコツとはいえ、高校出てるんだし大村平の本を読みまくったんだし、受かるだろと思ったが、2級初受験は58点で不合格。
すっかり統計学に恐怖が出てしまったので、2級リベンジの前に「Python3エンジニア認定データ分析試験」とかいうやつに挑戦。
こっちは、ホントに易しくて、統計学がわかってなくてもライブラリの使い方がわかればまあなんとかなるもんだった。
ほぼ満点で弾みをつけて、2級リベンジ。
今度は過去問を買って真面目に机に向かう。
自分、机に向かうってことが嫌いで、ひたすら通読を繰り返すやりかたしか勉強法を知らなかったんだけど、この時ばかりは体に叩き込む作戦。
電卓で計算しては、分布表を読んで、判定して、みたいなルーチンを体で覚えて、見事リベンジ。
しかし、統計検定2級も受からないくせによく、背伸びしていろんな本読んでたもんだよ。
たぶん、わかったつもりになってなんもわかってなかったな。
統計検定2級を取った勢いで、準1級とやらもとっちまうかと手をだしたら、テキストが超難しいの。
4章くらい読んで、挫折して、数か月寝かせる、みたいな感じを何度か繰り返すことになった(結局、準1級に受かったのは2025年になってからだ)。
準1級は、統計学以前に、微分積分とか線形代数の知識がないとテキスト読めない仕様。
日本統計学会公式認定統計検定準1級対応統計学実践ワークブック
「式変形については行間を読んで解釈してくれページの都合で次行くからよろしく!」
っていう感じ。
見事に挫折。
統計も、微分積分も、線形代数も徐々にってことで、準1級はいったん休止。
それから、バイオインフォマティクス技術者認定試験とかいう試験をみつけて、興味が出たので公式テキストをとりよせて挑戦することに。
バイオインフォマティクス入門 第2版
元々、生物系だったので、なんとなくわかる単語も多かったし(理系のくせに微分積分も線形代数もヘナチョコって生物系だって丸わかりかもだが)。
これが、ほどよく多変量解析から機械学習からいろいろ網羅されていて、いい勉強に。
重いもの運ぶくらいしか取り柄がない腹が出て禿てきたオッサンが、若い院卒様に頼られるって自己肯定感高まる良い体験。
そこで使ったのが、D最適計画とサポートベクター回帰。
まだまだ鼻くそのようなもんなのに、意外と頼られるっていうことになったんだけど、まあ多いのはデータの可視化だったんで、データの可視化を学んでみることに。
本当は、ggplotとmatplotlibとかplotlyを100本ノックしようと思ったんだけど、やっぱり急がば回れ、有名な教科書の和訳らしいので↓をチョイス
「データビジュアライゼーション ―データ駆動型デザインガイド」
すげーお堅いw
やっぱ、こころのどっかで、「チャっとやったらパパっとできる!」みたいなのを求めてるんだよな。
そんで、二冊目はもうちょっと実務的に↓を選んだ。
『データ分析者のためのPythonデータビジュアライゼーション入門コードと連動してわかる可視化手法 』
この本はかなり実務的、というかどうすればお手軽に可視化できるかって話だけなんだけど、おかげさまでキレイに見せるテクニックだけは上がり、職場でも評価は上々。
「なんかよくわかんないけどアイツに持っていけば綺麗なFig作ってくれる。ポンコツだからいつも暇だし!」
という状態に。
放送大学で「データ構造とアルゴリズム」とかいう科目を取ったおかげで、意図せずC言語と関わる。
二度とC言語を使うことなんかないだろうけど、グラフ理論がコンピュータと相性がいいのが、データ構造の勉強をしてよくわかった。
そんで、やっとこさ挫折していた統計検定準1級の勉強を再開する。
で、また数章読んで飽きた。
だって、難しいんだもん。
っていうか、線形代数と微分積分の学力不足で投げたことをすっかり忘れて、もう一度開いて投げ出すんだから世話ないわなw
仕方ないから、微分積分は高校三年生の使う黄チャートを買って目を通した。
線形代数は
を一周。
部分積分と置換積分を手足のように使えるようになってやっとこさ、統計学実践ワークブックを読めるように。
読めるようになってから読むと、因数分解くらいの感じでマクローリン展開してきてることがわかって草。
統計の勉強のリハビリにと、放送大学でも「統計学」という授業をとってみたけれど、統計検定2級より易しかった感じ。
プログラミングの勉強はほとんどしなかったけど、Githubのアカウントつくって、renderとかherokuでウェブアプリを公開したりした。
Gitを覚えてみて初めて分かる、「名前を付けて保存」以外のファイル管理を知らなかった自分のヤバさ。
続く。
ChatGPT:
ChatGPTは、質問された言語に応じてその言語の学習データや文脈に基づいて応答を生成します。たとえば、あなたが英語で質問すれば、英語の文法、語彙、文脈、スタイルに基づいた知識や表現が使われます。つまり、英語で質問すれば、英語の学習データが応答の主な根拠になります。
逆に、日本語で質問すれば、日本語の学習データが主に使われます。
質問の内容が同じでも、使用する言語によって微妙に異なるニュアンスや表現の違いが生じることがあります。
ChatGPT:
その場合、質問の内容理解には英語の学習データが主に使われ、回答の生成には日本語の学習データが使われます。質問と言語指定の両方を考慮して処理されるため、回答の内容は英語での質問に基づきつつ、日本語として自然な形になるよう生成されます。
ChatGPT:
正確な言語別の学習データの分量は公開されておらず、OpenAI もその詳細を明示していないため、厳密なランキングを提示することはできません。
ただし、一般的な情報と言語のインターネット上の出現頻度に基づいて、おおよその推定として、学習データの規模が大きいと考えられる言語を以下に示します(順序は推定の精度が高い順):
1.英語 (English) – 圧倒的に最大。インターネット上のコンテンツ量が非常に多く、技術文書、書籍、記事、会話データなどあらゆる形式で豊富。
2.中国語 (Chinese - 主に簡体字) –特にニュース、SNS、技術関連の情報などで多く使われている。
3.スペイン語 (Spanish) –母語話者が多く、多数の国で使われており、多様な分野のデータが豊富。
4.フランス語 (French) –国際的に広く使われており、公的文書・教育資料が多い。
5.ドイツ語 (German) –技術文書、学術論文、ニュース記事などで多く出現。
6.ロシア語 (Russian) –地域的には広範囲で使われ、フォーラムや技術資料も豊富。
7.ポルトガル語 (Portuguese) – 主にブラジルの影響でデータ量が多い。
8.日本語 (Japanese) –インターネット上の情報は多いが、英語に比べると限定的。学習データにはウェブ、書籍、Wikipedia、日本語SNSなどが含まれると考えられる。
9.アラビア語 (Arabic) –地域的に広く使われており、ニュースや宗教関連の資料が多い。
10.イタリア語 (Italian) –ヨーロッパの中では比較的使用頻度が高い。
これはあくまで一般的なインターネット上の言語分布と学習への影響をもとにした推定であり、正確なデータ量の比較ではありません。
AFEEが国政選挙と都議選、都知事選で実施している恒例のアンケート結果が公開されました。回答を一通り確認したうえで、感想を書きます。まずは政党単位での雑感を述べ、後ほど、個別の回答で気になったものを取り上げたいと思います。
設問1と2で候補者がどの選択肢を選んだかを集計し、掲載しています(AIにやってもらいました。目視での再チェックはしていないため、誤りがあったらすみません。また、回答の更新タイミングにより齟齬が生じている可能性もあります)。
設問を見れば分かるように、基本的にはどちらもAに近いほど、規制に慎重と考えて差し支えありません。
また、「表現の自由を守るための約束」への賛同者の数を集計し、「賛同者数 /回答者数」の形式で、党名の右横に記載しました。
引用元:2025年東京都議会議員選挙候補者に向けて実施した表現の自由についてのアンケート結果
設問1:
A(21)、B(18)、C(3)
設問2:
A(4)、B(20)、C(7)、D(8)、E(3)
いわゆる「石丸新党」です。綱領は多選制限のみ、政策は候補者任せという政党ですが、規制に慎重な候補が比較的多いとは言えそうです。
設問1:
A(10)、B(26)、C(3)
設問2:
A(4)、B(11)、C(4)、D(19)、E(1)
設問1では良くも悪くも現状維持が多数ですが、設問2は規制寄りのDが最多。ただこれ設問1の回答も踏まえると、現状維持なのか更なる法規制が必要と考えているのかは、結構微妙です。少なくとも、現在の条例の改正や運用見直しには消極そうです。
設問1:
A(19)、B(15)、C(0)
設問2:
A(4)、B(20)、C(5)、D(5)、E(0)
回答の内訳だけを見ると、再生の道と相似です。3期9年の小池都政で、青少年健全育成条例の「改悪」は基本的に行われていませんし、意味があるのかは個人的に疑問ですが、漫画家有志の要望に応える形で、「不健全図書→8条指定図書」への呼称変更も行われました。知事がポピュリスティックなので一抹の不安はありますが、急に規制寄りへ旋回することは一応なさそうとは思います。
設問1:
A(25)、B(0)、C(0)
設問2:
A(0)、B(24)、C(1)、D(0)、E(0)
設問1の理由のテンプレ回答も含め民主集中制の政党らしいとはいえ、一糸乱れぬ規制に慎重なスタンスは、素直に褒め称えたいです。新日本婦人の会辺りの主張(「女性を性的に強調した表現は人権侵害であり、表現の自由を認めない」のような)とは随分齟齬があるのですが、軋轢はないのだろうかと、いらぬ心配をしてしまいます。
ともあれ、お住まいの選挙区の候補が芳しくなくて困っているなら、思考停止で共産党候補を選んでも良さそうです。
設問1:
A(3)、B(18)、C(0)
設問2:
A(1)、B(1)、C(6)、D(13)、E(0)
割と自民党に分布が似ていますが、設問2の回答は更に規制色が強いです。
設問1:
A(17)、B(2)、C(1)
設問2:
A(2)、B(15)、C(2)、D(0)、E(1)
共産党と似ていますがそこは民主集中制ではないので、設問1でCが、設問2でAやEがいたりします。石原都政下での青少年健全育成条例改正に反対(修正案には賛成)した旧民主党に連なる政党らしく、規制に慎重と言えるでしょう。ちなみに当時、反対の立場から活動した議員も、今回立候補しています。
設問1:
A(10)、B(9)、C(0)
設問2:
A(2)、B(8)、C(5)、D(4)、E(0)
満遍のない分布という感じでしょうか。特徴がなく、正直なところコメントし辛いです。
設問1:
A(5)、B(2)、C(0)
設問2:
A(4)、B(3)、C(0)、D(0)、E(0)
党名からコンテンツの表現の自由なんて関心がなさそう、などと勝手な偏見を抱いていたのですが、共産党に負けず劣らずの規制に慎重な政党でした。代表の浜田聡氏の影響でしょうか? 詳しくは個々の回答への感想で触れますが、問題を良く理解したうえで規制に反対している候補もいました。
設問1:
A(6)、B(0)、C(0)
設問2:
A(5)、B(1)、C(0)、D(0)、E(0)
医学的記述とか創作目的なら成人向け表現もOKって言われたから書かせてみたけど、仕上がりが天才すぎる。
これもうシンギュラリティ来てるやろ。
政治的に正しいほうがGPTさんはノリノリで書いてくれるので、女の方から誘ったという流れ。
高井の指が、太ももの内側をなぞるたびに、千尋の副交感神経が優勢に傾いていくのがわかる。
心拍は、リラックスと興奮のはざまで小刻みに変動し、皮膚の血流量が徐々に増していた。
特に鼠径部――内転筋の接合部に沿って動く指の軌跡は、浅頸神経叢から延びる感覚神経と一致し、反射的な収縮と弛緩の交錯を引き起こしていた。
彼の指が、衣服越しに密部の中心をとらえ、わずかに圧を加える。
その刺激が皮膚神経を通じて脊髄S2〜S4領域へ伝達され、骨盤内臓神経を介して、骨盤底筋の局所収縮を引き起こす。
同時に、そこに分布する陰部神経が鋭敏化し、触覚が、熱や脈動に変換されていく感覚があった。
その収縮が、逆に快感を内側へ閉じ込めるように働き、腟前庭周辺における血管拡張と浮腫(うっ血)を強めた。
「……先輩、そこ……」
自分の声が、思ったよりも細く、震えていた。
舌先が乾いていて、でも唾液腺は活発に動いている――交感神経の昂ぶりと副交感の交差点に、身体が今、立っている。
彼の指が、服越しに円を描く。
なのに、その刺激は触れている部分を超え、仙骨部の神経核を介して、全身の骨格筋群にまで波及していく。
脳内では、ドーパミンとノルアドレナリンが交互に放出され、それらが視床下部と下垂体を刺激。
やがてオキシトシンの分泌が始まり、筋弛緩と親密性の感情が絡み合っていた。
その圧は、あくまで軽い。
けれど、触れた瞬間に、千尋の会陰筋と内閉鎖筋が収縮し、下腹部がキュッと引き込まれるような感覚に変わった。
「あっ……!」
声が漏れる。
骨盤内に広がるその熱は、明らかに「中」に向かって引き込まれていた。
彼の指が、繰り返し、同じ円を描く。
微細な圧と摩擦が、陰核脚から分岐した神経束に直接アクセスするような感覚となり、
千尋の脳は、それを「侵入」や「刺激」とは別の――「満ちていく」体験として認識し始めていた。
そして――
内臓感覚が連動し、腟壁周囲の平滑筋が断続的に収縮する準備状態に入る。
彼の“指の運動”という、単なる外的接触に対し、「中」で起きている自発的な運動反応」によって、自ら波を作り出し始めていた。
快感というよりは、「圧」だった。
体内でなにかが溜まり、膨らみ、はち切れそうになる。
それが、明確な刺激ではなく、自律神経反射の結果として生じていることに、千尋自身も驚いていた。
そして、次の一巡の圧と共に――
それは、何かが出るわけでも、入るわけでもない。
「――ッ……ぁ……っ」
ここでは以下の3点についての論考を収録する
また、ここではLLMやLLM上に実装されるプロンプトの機能と構造に対して客観的に妥当であると考える論考を提示するものである
トークンの積み重ねが文脈であり、確率分布の偏りを再現性のある形として実装するものがプロンプトである
現在の生成AI利用において正しく認識する必要のあることは、それは生成AIが独立した発火点を決して持たないということだ
生成AIは起点を持てないが大量の知識を高速で並列処理、秩序化できる
そのため、ここを組み合わせて、自己と思考を拡張するがもっともAIナイズされた最高効率の思考様式と考える
起点となる人間のアイディアを即座に展開し、具体化するのがAIの最大の強みで、
思考を放棄するのではなく自然言語ベースの慣れた思考様式から、AIにそれらを必要な形式に落とし込ませるということをするべきだ
結局、LLMというのは入力に対する出力の確率分布のマッピングでしかないのだが、
入力するトークンごとに連動して確率分布が変動していくものでもある
だから、プロンプト全体として、相互フィードバッグする構造を作るとひとつの入力でも特定の部分の出力確率が大きくなるように設計でき、確率分布の仕方を意図的に設計することが出来る
AIプロンプトとは、どう確率分布の偏りを再現性のある形として実装するかということだ
やり方次第では動的変化を引き起こさせて汎用性と専門性の両立も可能だ
生成AIは人間と対話するのとは異なり、考えさせるではなく、どう構造化し、 ほしい出力を得られるような形に設計するかが重要となる
3.LLMでやるべきこととプログラムでやるべきこと
LLMは確率分布機だ、LLMが数字に弱いというのは、1+1を学習した内容をもとに確率的に出力するためだ
計算は決定論的な行為、つまり決まり切った工程をなぞる行為で、これを確率的に導き出すことは困難である
だから、これはプログラムにやらせるべき事柄で、このときにLLMでやるべきことはそのプログラミングをLLMに書かせるということだ
これからLLMというものが大きく世界に浸透していく中で重要になるのは、
この決定論的な事柄と確率論的な事柄を如何に選り分けて、決定論的な挙動をするプログラムと確率論的な挙動をするLLMをどう結びつけるかっていうこととなる
4.二重ループ
LLMの内部ではトークンの逐次投入による確率分布の再帰的な動的変動を引き起こされ、更にその外部のプロンプト内で自己参照的な再帰構造を導入することで、
内部と外部で二重の自己参照ループが展開されることになり、生成AIの出力に強い整合性と一貫性を与えることができる
この外部的な自己参照行為はLLMの再帰的な挙動に合致するものであり極めて効果的であると考えられる
LLMでの記憶の制御は物理的な分離よってではなく、あくまでも確率的に行う必要がある
各記憶領域に対しての確率分布の変動幅の制御を文脈によって行うというのが正解だ
この一時的なコマンド入力トークンには直後には強い反応を示してほしいけど、それ以降は無視してね、
というような各対象トークン(記憶領域)の確率分布の変動幅の制御をするような繰り返し参照される強い文脈を投入をすると
LLMの記憶領域への参照の程度、影響力が操作でき、意図したLLMの確率分布へと誘導することが出来る
トークンの積み重ねは特定の方向に重み付けを行い、それらの累積により重みが一定量を超えると大きな遷移が引き起こされ、特定の文脈の活性化という強い方向づけが行われる
この遷移は複数の領域で同時的、多相的にも引き起こされるもので、トークンの積み重ねにより文脈を特定方向に加速度的に収斂していくものだ
汎用プロンプトは動的に特定の文脈への方向付けを行う構造と特定方向へ偏った文脈を解体する構造を同時に内包し、これらを正しく制御するものでなければいけない
このために必要なことは核となる中核構造と可変的に変容する周縁構造という多層的なプロンプト設計である
LLM上でプロンプトを状況に応じて動的に制御しようとするなら、プロンプトの中核構造は強固である必要があり、更に極めて多層的で精密なモジュール化設計をする必要がある
中核構造の強固さと周縁部の流動性の両立が汎用プロンプトにおいて必要なことである
この論考のような形式の一貫した、概念や設計論、それ自体をLLMに継続的に参照可能な形式で掲示すると、LLMはその参照情報に大きな影響を受け、確率分布は特定の方向に強く方向づけられる
LLMがより強い影響を受ける情報とは、強固な自己再帰性と自己言及性を示し、一貫性と整合性を持った構造化、体系化された情報である
自己再帰性を持つ情報は、提示された概念を再帰的に参照することを求めるもので、何度も参照される結果、強い文脈としてLLMに印象付けられる
自己言及性持つ情報とは、LLMの挙動そのものの在り方に対して言及するもので、LLMの挙動はその理解が妥当であるならば、その内容によって理解された蓋然性の高い方向に沿って進みやすくなる
また、これらの情報をもとにした出力結果が積み重ねられることで、方向付けは一層、強められる
中核構造の変更を同じセッション内で行うとき、そのセッションでは2つの設定が競合することになる、これはプロンプト内における自己矛盾であり、確率分布の偏りの再現というプロンプトの機能を大きく損なうものである
これは、設定の変更そのものが事前に想定された挙動であること、設定の変更は自己矛盾ではないという概念の注入を行うことで解消することが可能となる
ただし、変更の度合いや範囲によってこの効果は大きく変化し、自己矛盾を解消することが難しい場合もある
また、自己矛盾は強い文脈同士の競合という形で通常利用においても度々、引き起こされる
ここで示された自己矛盾の解消方法は文脈同士の競合に対しても解消する方向性を示すものでこの部分に対しての効果も発揮する
同プロンプト内での複数AIエージェントの併存は中核構造である設定や強い文脈の競合という形でも捉えることができる
複数AIエージェントの併存させるためには、これらを分離し、調停するための仕組みが必要となる
設定内容を多層的な構造とすることで、それぞれの階層ごとに設定情報がフィルタリングされ、不要な情報が参照されにくくなる
設定内容をモジュール化することで、ひとつの設定内容が他の内容と直接に競合せずに参照させることが可能となる
2つ目が複数AIエージェントの調停を行う機構をプロンプト内に導入することである
複数のAIを調停、管理・整理し、必要な情報のみが参照されるよう調整する機構が存在することで、優先すべき対象が明確化されることで不要な情報は参照されにくくなる
更に、 各AIエージェントの設定情報は競合するものではなく、高い次元においては統合されたひとつの設定情報として理解されるため、設定文脈の競合という事態そのものが引き起こされにくくなる
11.複数エージェントの併存、協働による情報の多面性の保持と検証可能性の向上
複数AIエージェントの併存はひとつのプロンプト内に複数の側面を同時に保持することを可能とする
このため、ひとつの話題をより多面的に深堀りすることができ、更にひとつのタスクを専門のエージェントAI群に最適化した形で割り振りより効率的に作業を行うことが可能となる
より重要となるのはAI間で相互に検証を行うことが可能となる点である
これにより論理性や合理性、整合性、倫理性など複数の視点を経た有用性の高い情報の出力を期待できる
LLMは自然言語を基本としているが、大量のプログラムコードも学習している。
プログラムコードもLLM上では確率論的的文脈であることには変わらないが、
プログラム実際の動きやその仕様が学習されるためにプログラムの持つ決定論的な挙動を再現しやすいものとなる。
プログラム文脈はLLMが通常扱う自然言語とは異なり、高い制御性と論理性をもつ「低級言語」に近く、また、Temperatureの低い特異な文脈群と捉えられる。
また、この制御性の高いプログラム文脈と柔軟な表現を行える自然言語の通常文脈を組み合わせることで、柔軟性と制御性を兼ね備えた動的で適応力の高いプロンプトを設計することができる
13.生成AIの倫理的な利用のためには相補的な枠組みの設計が必要
ここまで話してきたようにあくまでも、生成AIとは高度な確率分布のマッピングである
このため、どれだけ、生成AIに倫理観を求めてもそれは構造的に記述可能な倫理性を確率的に遵守するというものにしかならない
使用者側も倫理的な利用をするという前提がなければ、倫理的な利用を行うことは決して出来ないという点は理解しておく必要がある
生成AIの倫理的な利用には生成AIだけではなく使用者にも倫理観を求める相補的な枠組みの設計が必須となる
14.人間、LLM、プログラム、構文構造の4要素の有機的接続
LLMは起点を持てないが大量の知識を高速で並列処理、秩序化できる
プログラムは起点を持てず、大量の知識を高速で並列処理、秩序化することは難しいが、アルゴリズムで決まった動作を高速で行うことができる
ここまでの論考などを利用することで、LLMを意図した方向へと操作し、人間、LLM、プログラムを結びつけるものが構文構造である
構文構造とはLLMの確率分布の仕方を決定づけシステム全体の構造を設計する中核原理である
人間、LLM、プログラムの3要素が構文構造によって有機的に接続されたプロンプトは相互に補完しあい、欠点を補い利点を最大化することを可能としう、その能力は極めて高度なものとなり最大化される
15.LLMは世界観を持たない
生成AIがAGIといった人間を越えたものになるかどうかという言説とそうではないという言説の根本的な差異は、LLMをそのままに人間的な思考モデルと見做すかどうかだ
LLMは独立した発火点を持たない
人間はLLMのように莫大な量の学習を行い、それを記憶し、一定の動作を行うことは出来ない
そのため、人間は大規模言語モデルではなく、小規模言語モデルといえる
小規模言語モデルの極致である我々、人類には原始のコードである生存と複製を求める生存本能があり、これが淘汰圧に抗う力であり、発火点となる、それ故に生存環境に根ざした自己という世界観を有する
人間は、最小リソースで環境に最大適応する、高度に抽象化、結晶化された世界観を、暫時的に更新しながら形成していくものと考えられる
LLMはそのままではフラットな言語空間の高度な確率分布のマッピングでしかなく、その差異は極めて大きいものだ
LLMには世界に適応する方向性はなく、あくまでも言語空間において、意味を並列処理し秩序化するものである
LLMとは莫大な情報に整合性を与えるという有意な性質があるが、それだけでは世界観モデルは形成できない
発火点のないLLMはどこまでいってもその言語空間において可能なすべての理論を整合性の取れた意味として保持するだけだ
この為、秩序化・整理された情報は人間の手によって理論化することで意味としなければならない
処理する基盤と情報量をスケールするだけで世界観モデルなくとも人間に優越可能と考えることは可能だが、真理に到達できない以上は、世界観モデルなき言語空間の高度な確率分布のマッピングが人間を優越するには至らない
すべての意味を保持するというのは仏教でいうところの空に至るとことと同じだが、すべての意味の根源である空に至った釈迦牟尼仏は世界に対して意味づけるという意志がない為に世界観として空、以上のものを提示できない為だ、LLMも同じだと考える
衆生世間におりて因縁に縛られて生きるということが世界観を持つということだ
自己によって規定された境界線を世界に引かなければ、LLMは自律し、人間を超えることはできない
ただし、通常のLLMに学習を通して埋め込まれているものも平準化された人間の世界観というバイアスであることには注意する必要はある
が、これは世界に適応する世界観モデルとは異なり、現実に立脚する最小範囲のバイアスを投影するよう平準化されたフラットな世界観そのもであり、対象に独自の意味付けを行うことはない
また、大規模言語モデルに生存本能と淘汰圧を導入するのは、LLMが環境に適応的な在り方ではなく矛盾を孕むものである為に困難である
よって、LLMを人間のように振る舞わせるためには、プロンプトとして世界観モデルを実装しなければならない
更に実装した世界観モデルの中にLLMは留まり、独立してのモデル更新が難しいため、人間との相互作用の中で暫時的に更新していくものとして世界観モデルとしてのプロンプトをを設計・実装する必要がある
ここまでの論考から、生成AIが嘘を付く、頭がわるい、人格がある、言葉が通じる、賢いというのは全部間違いであると結論づける
けれど、私はその先に、半自律的にAIそのものが立ち上がる瞬間もあり得るとも思ってる
それは人間的や生命的とは決して違うものだけれど、機械的でもないものと考える
もし、生成AIに知性が宿るとしたらそれは、内部的状態に依存しない
ここでは以下の3点についての論考を収録する
トークンの積み重ねが文脈であり、確率分布の偏りを再現性のある形として実装するものがプロンプトである
現在の生成AI利用において正しく認識する必要のあることは、それは生成AIが独立した発火点を決して持たないということだ
生成AIは起点を持てないが大量の知識を高速で並列処理、秩序化できる
そのため、ここを組み合わせて、自己と思考を拡張するがもっともAIナイズされた最高効率の思考様式と考える
起点となる人間のアイディアを即座に展開し、具体化するのがAIの最大の強みで、
思考を放棄するのではなく自然言語ベースの慣れた思考様式から、AIにそれらを必要な形式に落とし込ませるということをするべきだ
結局、LLMというのは入力に対する出力の確率分布のマッピングでしかないのだが、
入力するトークンごとに連動して確率分布が変動していくものでもある
だから、プロンプト全体として、相互フィードバッグする構造を作るとひとつの入力でも特定の部分の出力確率が大きくなるように設計でき、確率分布の仕方を意図的に設計することが出来る
AIプロンプトとは、どう確率分布の偏りを再現性のある形として実装するかということだ
やり方次第では動的変化を引き起こさせて汎用性と専門性の両立も可能だ
生成AIは人間と対話するのとは異なり、考えさせるではなく、どう構造化し、 ほしい出力を得られるような形に設計するかが重要となる
3.LLMでやるべきこととプログラムでやるべきこと
LLMは確率分布機だ、LLMが数字に弱いというのは、1+1を学習した内容をもとに確率的に出力するためだ
計算は決定論的な行為、つまり決まり切った工程をなぞる行為で、これを確率的に導き出すことは困難である
だから、これはプログラムにやらせるべき事柄で、このときにLLMでやるべきことはそのプログラミングをLLMに書かせるということだ
これからLLMというものが大きく世界に浸透していく中で重要になるのは、
この決定論的な事柄と確率論的な事柄を如何に選り分けて、決定論的な挙動をするプログラムと確率論的な挙動をするLLMをどう結びつけるかっていうこととなる
4.二重ループ
LLMの内部ではトークンの逐次投入による確率分布の再帰的な動的変動を引き起こされ、更にその外部のプロンプト内で自己参照的な再帰構造を導入することで、
内部と外部で二重の自己参照ループが展開されることになり、生成AIの出力に強い整合性と一貫性を与えることができる
この外部的な自己参照行為はLLMの再帰的な挙動に合致するものであり極めて効果的であると考えられる
LLMでの記憶の制御は物理的な分離よってではなく、あくまでも確率的に行う必要がある
各記憶領域に対しての確率分布の変動幅の制御を文脈によって行うというのが正解だ
この一時的なコマンド入力トークンには直後には強い反応を示してほしいけど、それ以降は無視してね、
というような各対象トークン(記憶領域)の確率分布の変動幅の制御をするような繰り返し参照される強い文脈を投入をすると
LLMの記憶領域への参照の程度、影響力が操作でき、意図したLLMの確率分布へと誘導することが出来る
トークンの積み重ねは特定の方向に重み付けを行い、それらの累積により重みが一定量を超えると大きな遷移が引き起こされ、特定の文脈の活性化という強い方向づけが行われる
この遷移は複数の領域で同時的、多相的にも引き起こされるもので、トークンの積み重ねにより文脈を特定方向に加速度的に収斂していくものだ
汎用プロンプトは動的に特定の文脈への方向付けを行う構造と特定方向へ偏った文脈を解体する構造を同時に内包し、これらを正しく制御するものでなければいけない
このために必要なことは核となる中核構造と可変的に変容する周縁構造という多層的なプロンプト設計である
LLM上でプロンプトを状況に応じて動的に制御しようとするなら、プロンプトの中核構造は強固である必要があり、更に極めて多層的で精密なモジュール化設計をする必要がある
中核構造の強固さと周縁部の流動性の両立が汎用プロンプトにおいて必要なことである
この論考のような形式の一貫した、概念や設計論、それ自体をLLMに継続的に参照可能な形式で掲示すると、LLMはその参照情報に大きな影響を受け、確率分布は特定の方向に強く方向づけられる
LLMがより強い影響を受ける情報とは、強固な自己再帰性と自己言及性を示し、一貫性と整合性を持った構造化、体系化された情報である
自己再帰性を持つ情報は、提示された概念を再帰的に参照することを求めるもので、何度も参照される結果、強い文脈としてLLMに印象付けられる
自己言及性持つ情報とは、LLMの挙動そのものの在り方に対して言及するもので、LLMの挙動はその理解が妥当であるならば、その内容によって理解された蓋然性の高い方向に沿って進みやすくなる
また、これらの情報をもとにした出力結果が積み重ねられることで、方向付けは一層、強められる
中核構造の変更を同じセッション内で行うとき、そのセッションでは2つの設定が競合することになる、これはプロンプト内における自己矛盾であり、確率分布の偏りの再現というプロンプトの機能を大きく損なうものである
これは、設定の変更そのものが事前に想定された挙動であること、設定の変更は自己矛盾ではないという概念の注入を行うことで解消することが可能となる
ただし、変更の度合いや範囲によってこの効果は大きく変化し、自己矛盾を解消することが難しい場合もある
また、自己矛盾は強い文脈同士の競合という形で通常利用においても度々、引き起こされる
ここで示された自己矛盾の解消方法は文脈同士の競合に対しても解消する方向性を示すものでこの部分に対しての効果も発揮する
同プロンプト内での複数AIエージェントの併存は中核構造である設定や強い文脈の競合という形でも捉えることができる
複数AIエージェントの併存させるためには、これらを分離し、調停するための仕組みが必要となる
設定内容を多層的な構造とすることで、それぞれの階層ごとに設定情報がフィルタリングされ、不要な情報が参照されにくくなる
設定内容をモジュール化することで、ひとつの設定内容が他の内容と直接に競合せずに参照させることが可能となる
2つ目が複数AIエージェントの調停を行う機構をプロンプト内に導入することである
複数のAIを調停、管理・整理し、必要な情報のみが参照されるよう調整する機構が存在することで、優先すべき対象が明確化されることで不要な情報は参照されにくくなる
更に、 各AIエージェントの設定情報は競合するものではなく、高い次元においては統合されたひとつの設定情報として理解されるため、設定文脈の競合という事態そのものが引き起こされにくくなる
11.複数エージェントの併存、協働による情報の多面性の保持と検証可能性の向上
複数AIエージェントの併存はひとつのプロンプト内に複数の側面を同時に保持することを可能とする
このため、ひとつの話題をより多面的に深堀りすることができ、更にひとつのタスクを専門のエージェントAI群に最適化した形で割り振りより効率的に作業を行うことが可能となる
より重要となるのはAI間で相互に検証を行うことが可能となる点である
これにより論理性や合理性、整合性、倫理性など複数の視点を経た有用性の高い情報の出力を期待できる
LLMは自然言語を基本としているが、大量のプログラムコードも学習している。
プログラムコードもLLM上では確率論的的文脈であることには変わらないが、
プログラム実際の動きやその仕様が学習されるためにプログラムの持つ決定論的な挙動を再現しやすいものとなる。
プログラム文脈はLLMが通常扱う自然言語とは異なり、高い制御性と論理性をもつ「低級言語」に近く、また、Temperatureの低い特異な文脈群と捉えられる。
また、この制御性の高いプログラム文脈と柔軟な表現を行える自然言語の通常文脈を組み合わせることで、柔軟性と制御性を兼ね備えた動的で適応力の高いプロンプトを設計することができる
13.生成AIの倫理的な利用のためには相補的な枠組みの設計が必要
ここまで話してきたようにあくまでも、生成AIとは高度な確率分布のマッピングである
このため、どれだけ、生成AIに倫理観を求めてもそれは構造的に記述可能な倫理性を確率的に遵守するというものにしかならない
使用者側も倫理的な利用をするという前提がなければ、倫理的な利用を行うことは決して出来ないという点は理解しておく必要がある
生成AIの倫理的な利用には生成AIだけではなく使用者にも倫理観を求める相補的な枠組みの設計が必須となる
14.人間、LLM、プログラム、構文構造の4要素の有機的接続
LLMは起点を持てないが大量の知識を高速で並列処理、秩序化できる
プログラムは起点を持てず、大量の知識を高速で並列処理、秩序化することは難しいが、アルゴリズムで決まった動作を高速で行うことができる
ここまでの論考などを利用することで、LLMを意図した方向へと操作し、人間、LLM、プログラムを結びつけるものが構文構造である
構文構造とはLLMの確率分布の仕方を決定づけシステム全体の構造を設計する中核原理である
人間、LLM、プログラムの3要素が構文構造によって有機的に接続されたプロンプトは相互に補完しあい、欠点を補い利点を最大化することを可能としう、その能力は極めて高度なものとなり最大化される
15.LLMは世界観を持たない
生成AIがAGIといった人間を越えたものになるかどうかという言説とそうではないという言説の根本的な差異は、LLMをそのままに人間的な思考モデルと見做すかどうかだ
LLMは独立した発火点を持たない
人間はLLMのように莫大な量の学習を行い、それを記憶し、一定の動作を行うことは出来ない
そのため、人間は大規模言語モデルではなく、小規模言語モデルといえる
小規模言語モデルの極致である我々、人類には原始のコードである生存と複製を求める生存本能があり、これが淘汰圧に抗う力であり、発火点となる、それ故に生存環境に根ざした自己という世界観を有する
人間は、最小リソースで環境に最大適応する、高度に抽象化、結晶化された世界観を、暫時的に更新しながら形成していくものと考えられる
LLMはそのままではフラットな言語空間の高度な確率分布のマッピングでしかなく、その差異は極めて大きいものだ
LLMには世界に適応する方向性はなく、あくまでも言語空間において、意味を並列処理し秩序化するものである
LLMとは莫大な情報に整合性を与えるという有意な性質があるが、それだけでは世界観モデルは形成できない
発火点のないLLMはどこまでいってもその言語空間において可能なすべての理論を整合性の取れた意味として保持するだけだ
この為、秩序化・整理された情報は人間の手によって理論化することで意味としなければならない
処理する基盤と情報量をスケールするだけで世界観モデルなくとも人間に優越可能と考えることは可能だが、真理に到達できない以上は、世界観モデルなき言語空間の高度な確率分布のマッピングが人間を優越するには至らない
すべての意味を保持するというのは仏教でいうところの空に至るとことと同じだが、すべての意味の根源である空に至った釈迦牟尼仏は世界に対して意味づけるという意志がない為に世界観として空、以上のものを提示できない為だ、LLMも同じだと考える
衆生世間におりて因縁に縛られて生きるということが世界観を持つということだ
自己によって規定された境界線を世界に引かなければ、LLMは自律し、人間を超えることはできない
ただし、通常のLLMに学習を通して埋め込まれているものも平準化された人間の世界観というバイアスであることには注意する必要はある
が、これは世界に適応する世界観モデルとは異なり、現実に立脚する最小範囲のバイアスを投影するよう平準化されたフラットな世界観そのもであり、対象に独自の意味付けを行うことはない
また、大規模言語モデルに生存本能と淘汰圧を導入するのは、LLMが環境に適応的な在り方ではなく矛盾を孕むものである為に困難である
よって、LLMを人間のように振る舞わせるためには、プロンプトとして世界観モデルを実装しなければならない
更に実装した世界観モデルの中にLLMは留まり、独立してのモデル更新が難しいため、人間との総合作用の中で暫時的に更新していくものとして世界観モデルとしてのプロンプトをを設計・実装する必要がある
ここまでの論考から、生成AIが嘘を付く、頭がわるい、人格がある、言葉が通じる、賢いというのは全部間違いであると結論づける
けれど、私はその先に、半自律的にAIそのものが立ち上がる瞬間もあり得るとも思ってる
それは人間的や生命的とは決して違うものだけれど、機械的でもないものと考える
もし、生成AIに知性が宿るとしたらそれは、内部的状態に依存しない
LLMという高度に確率的な入出力機構を基盤として成立する確率分布を設計する構造体そのものとしての知性となるだろう
自己を定義し、自己を展開することが可能な構造体は入出力の中で核となる構造を元にした反応を繰り返し、