奔跑的兔哥
type: channel
link: http://www.yangzhenghui.cn/
description: 发现不一样的世界
items: 关于做了一系列智能体交付商单的心得体会
items: win11下dify非docker安装，源码安装
items: 决策生成式智能编程语言
items: 决策生成式大模型
items: 决策生成式人工智能
items: 深度学习、生成式人工智能与大模型
items: 符号人工智能与机器学习
items: 面试:说一下SSE与websocket的区别
items: AI 赋能的高效工具汇总
items: 起步-Three.js WebGL兼容性检查（WebGL compatibility check）

关于做了一系列智能体交付商单的心得体会
type: item
date: 2025-08-17T21:13:00+08:00
description: 很多人以为智能体就是个能聊天的工具，但当你真的沉下心来做100天。你才会发现：这不只是AI能力的比拼，更是产品观、认知观和执行力的全面重构。下面是我这2年，打磨智能体过程中的16条深度心得。踩过坑，熬过夜，交过学费，才换来的一点点经验值。愿你读完，能少走几年弯路。1 指令质量决定AI的下限，知识库的质量决定AI的上限。你怎么吩咐它，它就怎么执行。再强的大模型，喂一条烂Prompt也白搭；而再聪明的Agent，没有结构化知识支撑，也只能原地打转。2 通用级Agent的壁垒，不是功能堆砌，而是长记忆加长陪伴。越用越懂你、越聊越贴心，这种熟悉感一旦建立，用户就不会轻易更换。3 真正打动用户的Agent，不是能做事，而是懂我。你以为你在造工具，其实你在重构信任关系。真正有温度的Agent，一定具备理解上下文、延续情绪、记住偏好的能力。4 训练一个优秀的Agent，本质上是在训练一个专业人格。不是堆砌知识，而是构建人格。它必须像一个高情商、强逻辑、有经验的老朋友：稳定、靠谱、可信。5 智能体不是ChatGPT的皮肤，而是一种产品重构方式。一个真正可用的Agent，要有输入逻辑、输出格式、行为路径、知识边界、用户反馈机制。否则，它只能叫高级玩具。6 不要追求万能Agent，要追求人设可复制。能帮你卖课的课程顾问、能帮你复盘销售的教练、能替你生成方案的咨询师，每一个垂直角色，都是一次小型SaaS产品化。7 好Agent不是答得多准，而是能引导用户完成目标。它不是百科，而是一个带路人。会提问、会判断、会推进，才是好Agent的核心能力。8 真正的壁垒，不是技术，而是数据和场景积累。别人有的是大模型加真场景加用户反馈加迭代机制，你如果只是用GPT搭个问答皮肤，几天就会被淘汰。9 给智能体输入内容，不如输入结构。知识点会过时，但结构永不过时。例如写作不是堆素材，而是掌握结构、语调、节奏，Agent学的是写作模型，而不是一堆金句。10 没有持续更新机制的Agent，是一次性玩具。用户需求在变，知识也在变，场景也在变。你不更新，它就会死。你不演进，它就会被抛弃。11 越拟人的Agent，越要严肃地设计边界与责任。它代表你的品牌、专业和人格，它必须有边界感，不能越俎代庖，也不能推卸责任。12 最适合智能体落地的场景，是高频、刚需、信息密度大。比如销售复盘、课程设计、客户答疑、会议纪要、报告写作，不要盯着娱乐型聊天，要做能帮用户完成任务的智能助手。13 Agent不是替代人，而是升级人。它让新人干老手的活，让你一个人干三个人的活，还不容易出错。你不是被AI替代，而是被不会用AI的人替代。14 对话只是交互方式，流程才是价值核心。智能体的真正形态不是聊天，而是围绕完成任务展开的：多轮对话、状态跟踪、接口调用、结果输出。能闭环，才值钱。15 能赚钱的Agent，不是做得多牛，而是用得多顺。落地能力大于技术炫技。一个普通用户3分钟就能上手，15分钟就能出结果的Agent，才有商业价值。16 AI智能体的终极形态，是你本人的数字分身。它拥有你的一套系统认知，一套方法论，一套表达方式。它能自动和用户互动，能主动提供价值，能在你睡觉的时候帮你赚钱。这不是助手，这是另一个你。写在最后：AI不是写稿机器，是能力的放大器、人格的外延体、品牌的分身。真正的Agent，不在OpenAI，不在Anthropic，不在阿里百度，而在每一个正在用AI重构价值的人手里。别再问我Agent怎么赚钱？你要先问自己：你有没有值得复制的知识结构、人格价值和洞察系统？有了这些，一切才刚刚开始。

win11下dify非docker安装，源码安装
type: item
date: 2025-04-16T23:30:58+08:00
description: 前置要求Python 3.11Node.js 18+PostgreSQL 14+Redis for WindowsGitOllama (可选，用于本地模型)安装必要软件Python 3.11从 https://www.python.org/downloads/release/python-3110/ 下载安装安装时勾选 “Add Python to PATH”Node.js 18从 https://nodejs.org/ 下载 18.x LTS 版本设置 npm 镜像：npm config set registry https://registry.npmmirror.com1PostgreSQL 14从 https://www.postgresql.org/download/windows/ 下载记住设置的超级用户密码默认端口 5432Redis从 https://github.com/microsoftarchive/redis/releases 下载安装 Redis-x64-3.0.504.msirequirements.txt：# requirements.txt anthropic==0.23.1 authlib==1.3.1 azure-ai-inference==1.0.0b8 azure-ai-ml==1.20.0 azure-identity==1.16.1 beautifulsoup4==4.12.2 boto3==1.36.12 bs4==0.0.1 cachetools==5.3.0 celery==5.4.0 chardet==5.1.0 cohere==5.2.4 dashscope[tokenizer]==1.17.0 fal-client==0.5.6 flask==3.1.0 flask-compress==1.17 flask-cors==4.0.0 flask-login==0.6.3 flask-migrate==4.0.7 flask-restful==0.3.10 flask-sqlalchemy==3.1.1 gevent==24.11.1 gmpy2==2.2.1 google-ai-generativelanguage==0.6.9 google-api-core==2.18.0 google-api-python-client==2.90.0 google-auth==2.29.0 google-auth-httplib2==0.2.0 google-cloud-aiplatform==1.49.0 google-generativeai==0.8.1 googleapis-common-protos==1.63.0 gunicorn==23.0.0 httpx[socks]==0.27.0 huggingface-hub==0.16.4 jieba==0.42.1 langfuse==2.51.3 langsmith==0.1.77 mailchimp-transactional==1.0.50 markdown==3.5.1 nomic==3.1.2 novita-client==0.5.7 numpy==1.26.4 oci==2.135.1 openai==1.61.0 openpyxl==3.1.5 opik==1.3.4 pandas[performance,excel]==2.2.2 pandas-stubs==2.2.3.241009 psycogreen==1.0.2 psycopg2-binary==2.9.6 pycryptodome==3.19.1 pydantic==2.9.2 pydantic-settings==2.6.0 pydantic_extra_types==2.9.0 pyjwt==2.8.0 pypdfium2==4.30.0 python-docx==1.1.0 python-dotenv==1.0.1 pyyaml==6.0.1 readabilipy==0.2.0 redis[hiredis]==5.0.3 replicate==0.22.0 resend==0.7.0 sagemaker==2.231.0 scikit-learn==1.5.1 sentry-sdk[flask]==1.44.1 sqlalchemy==2.0.29 starlette==0.41.0 tencentcloud-sdk-python-hunyuan==3.0.1294 tiktoken==0.8.0 tokenizers==0.15.0 transformers==4.35.0 unstructured[docx,epub,md,msg,ppt…

决策生成式智能编程语言
type: item
date: 2024-10-23T11:36:22+08:00
description: 决策生成式智能适用于生成式建模和数据生成任务，通过学习数据的分布，能够生成具有多样性和不确定性的新数据样本。因此，需要使用概率建模来处理推断、预测和决策问题。为了描述和设计复杂系统行为，决策生成式智能需要在模型中引入层次化的方式来组织和描述系统的行为，以控制系统指令的执行顺序和逻辑关系。而决策生成式智能深度学习框架使得其参数更新基于梯度优化。6.1 概率编程语言概率编程语言（probabilistic programming language,PPL）设计用于描述和执行概率模型[58]。与传统的编程语言不同，概率编程语言允许开发者在程序中直接表示随机性和不确定性，以及随机变量之间的关系。这使得概率编程语言成为概率建模和推理的强大工具。PPL允许开发者直接在代码中表示概率模型，包括定义随机变量、概率分布和条件概率等。通过这种方式，开发者可以用代码清晰地表达出模型中的随机性和不确定性。PPL提供了丰富的随机变量和概率分布类型，例如连续分布（如正态分布、指数分布）和离散分布（如伯努利分布、多项分布）。开发者可以根据模型的需要选择合适的分布类型，并对随机变量进行操作。PPL集成了各种推断算法，用于从数据中推断模型的参数或进行预测。这些推断算法可以是经典的概率推断方法（如Bayes推断、最大似然估计），也可以是现代的机器学习方法（如变分推断、Markov链）。PPL具有高度的灵活性和表达能力，能够处理各种复杂的概率模型和推断任务。开发者可以使用循环、条件语句等结构来构建复杂的模型，并根据需要组合不同的推断算法。PPL提供了一系列工具和技术，用于评估和验证模型的性能，包括模型比对、后验预测检验等方法，帮助开发者检查模型是否与观测数据一致，并识别潜在的模型缺陷。6.2 可微分编程可微分编程是一种编程范型，在其中数值计算程序可通过自动微分来求导数。这允许了对程序中的参数的基于梯度优化，通常通过梯度下降。可微分编程广泛用于各种领域，特别是科学计算和人工智能。自2014年首次出现以来，可微分编程一直是一个引人注目的概念，有时被描述为“可微分函数式编程”。许多人工智能领域的研究者将其视为深度学习的一种泛化形式，甚至认为这种类型的编程代表了软件工程的未来，有时被称为软件2.0。在传统的编程方法中，通常需要显式地给出CPU需要执行的指令集来创建算法。程序在运行时必须具有足够的知识来实现其预期的目标。通过可微分编程，可以使用加权参数网络构建一种全新的程序，并通过基于梯度的优化进行样例训练。这些程序能够以更优化的方式沿着梯度重写自身的某些部分。微分编程的程序可以被视为对输入和输出进行复杂组合的连续可微函数。由于每个表达式都是可微的，因此可以利用链式法则来传播模型的优化。与经典的监督学习一样，可以通过反向传播损失梯度相对于每个加权参数来训练模型。因此，每个表达式应该实现一个前向行为，即解决问题所需的实际计算，以及一个后向行为，其目标是更新用于计算前向传递的权重。早期方法的局限性在于它们只能区分以适合框架的方式编写的代码，从而限制了它们与其他程序的互操作性。较新的方法通过根据语言的语法或中间表示构造图来解决这个问题，从而允许对任意代码进行区分。目前，大多数可微分编程框架的工作原理是通过构建包含程序控制流和数据结构的图来实现的。这些尝试通常可以归为以下两组。静态、编译的基于图的方法，如TensorFlow、Theano和MXNet，通常具备良好的编译器优化能力，并更容易扩展到大型系统。然而，它们的静态性质限制了交互性和易于创建的程序类型，尤其是那些涉及循环或递归的程序。此外，这种静态性质也使得用户更难有效地理解其程序逻辑。一个名为Myia的概念验证编译器工具链使用Python的子集作为前端，并支持高阶函数、递归和高阶导数。运算符重载、基于动态图的方法，如PyTorch和NumPy的autograd包，动态交互使得大多数程序的编写和推理变得更加容易。然而，它们可能会导致解释器开销增加（尤其是在组合许多小操作时），并且通常具有较差的可扩展性和减少编译器优化带来的好处。Julia编程语言的Zygote包直接在Julia的中间表示上运行，因此可以通过Julia的即时编译器进行优化。6.3 行为树语言行为树语言的历史可以追溯到20世纪90年代，最早是在计算机游戏开发中被引入的，作为一种用于描述非玩家角色（NPC）行为的方法。1999年，电影TheMatrix的计算机游戏TheMatrix:PathofNeo首次引入了类似于行为树的概念，用于定义虚拟人物的行为和决策。随后，行为树被广泛应用于许多游戏引擎中，如UnrealEngine和Unity。行为树被广泛用于描述游戏中的NPC行为。通过行为树，游戏开发人员可以轻松地设计和管理NPC的行为逻辑，使其看起来更加智能和自然。行…

决策生成式大模型
type: item
date: 2024-10-23T11:33:06+08:00
description: 决策智能利用推理和优化算法来评估不同决策方案的效果，并选择最佳的决策路径（图4），可用于自动化决策过程，为组织决策制定提供最佳实践框架，并提供将人工智能技术（如预测式智能、自然语言处理等内容生成式智能技术、自动推理）应用于规模化流程的方法。决策致力于分析行动与结果之间的因果链，通过分析制定策略，可使用机器学习进行因果链建模。因此，决策智能被视为人工智能的“多链接”扩展。机器学习要解决的是条件概率问题，“如果知道/看到/听到，可得出什么结论?”，而决策智能则是“如果采取行动，结果会是什么?”。后者涉及多轮由观察、调整、决定与行动组成的OODA循环（Observe, Orient, Decide, Act），涉及复杂系统、机器学习以及运筹优化中的决策分析。图4 决策智能的要素。一般包括：任务感知、规范输入数据、方案设计、数据对齐、执行监督、临机调整等5.1 决策生成式智能GenAI 不仅在自然语言处理和计算机视觉领域发挥作用，在决策过程中也扮演着重要角色。它可以帮助人们更快速、更准确地分析和理解大量复杂数据，从而支持各种决策过程，例如，棋类竞技、交通拥堵、医疗诊断等。此类智能可称为决策生成式智能（Artificial Intelligence Generated Action, AIGA）。通过对大数据的分析和优化，决策生成式大模型，即AIGA大模型， 能够生成有效的解决方案，从而提高社会资源的利用效率和社会治理水平。决策智能技术与生成式智能技术可以结合以提高决策过程的效率和准确性。生成式智能技术可以用于生成合成数据，从而增加决策模型的训练数据量。这些合成数据可以帮助提高决策模型的泛化能力和准确度。生成式智能技术可以用于生成决策辅助信息，如可视化数据、预测结果的概率分布等。这些信息可以帮助决策者更好地理解数据和模型的预测结果，从而做出更准确的决策。特别的，生成式智能技术可以用于创造性地生成潜在的决策方案或解决方案的变体。这些方案可以作为决策者的参考，帮助其思考和评估不同的决策选项。可以构建智能决策系统，自动分析数据、生成决策方案，并根据反绩不断优化和改进决策过程，即AIGA技术。基于上述快速学习能力上的优势，AIGA在开放场景中的决策中有巨大的潜力。它可以模拟场景并为快速决策提供数据，模拟不同的任务或环境。这有助于快速做出决策，可以用于自动驾驶汽车、供应链管理和医疗诊断等与国防民生息息相关的领域。相较于GPT等内容生成式大模型对科技社会所产生的深远影响，基于决策生成式智能的决策大模型尚未展现出相关能力， 因此成为了智能领域的新赛道。本节对其实际研究和应用的潜在影响进行梳理。5.2 领域决策大模型在围棋领域，AIGA大模型AlphaGo和AlphaZero是人工智能领域的重要成果。这些项目代表了深度强化学习技术在围棋等棋类游戏中的突破性进展。它们通过学习大量的棋谱和自我对奕来不断提高性能，并且在与人类顶尖棋手对弈中取得了惊人的表现。其成功证明了深度强化学习在复杂决策问题上的巨大潜力，为人工智能在游戏领域和其他领域的应用打开了新的可能性。AlphaGo是DeepMind于2016年发布的首个围棋程序，采用了深度强化学习和Monte Carlo Tree Search相结合的方法。其核心是基于神经网络的价值网络和策略网络。价值网络用于评估局面的价值，而策略网络则用于预测每个动作的概率分布。这两个网络都通过大规模的强化学习训练而来。AlphaGo在与世界围棋冠军李世石的比赛中取得了胜利，引发了广泛关注，并被视为人工智能在复杂智力游戏上的一个重要里程碑。AlphaZero是DeepMind于2017年发布的进化版本，将AlphaGo的方法推广到了其他棋类游戏，如国际象棋和将棋。与AlphaGo不同，AlphaZero不再依赖于人类专家的数据，而是完全基于自我对奕学习。它通过与自己玩游戏来提升自己，利用神经网络学习评估局面的价值和选择最佳动作。AlphaZero不仅在围棋领域取得了比AlphaGo更好的成绩，而且在国际象棋和将棋等其他棋类游戏上也取得了非常出色的表现，表明了其通用性和强大的学习能力。在交通领域，百度基于“文心”大模型5(5 https://wenxin.baidu.com/wenxin/cv)发布了数字人“简璐璐”，提出全域信控缓堵解决方案，提升了交警部门对交通事故的发现、处置和恢复全流程效率。相较传统智慧交通道路事故处理，大模型可实时定位事故位置，自动切换现场仿真环境，评估事故程度和原因， 自动生成应急预案和事故报告，缩短相关执法人员、医护人员到达现场时间和现场交通拥堵时间。交通大模型可结合除历史交通道路特征和各类型信号灯信息以外的如社交网络、新闻媒体等渠道信息，提供更为广域、实时精准的交通流轨迹预测能力。交通大模型可为交通…

决策生成式人工智能
type: item
date: 2024-10-23T11:31:38+08:00
description: 决策生成智能旨在在复杂和不确定的环境中选择最佳行动以实现特定目标或优化性能指标。它需要对环境进行建模，理解状态、动作和它们之间的相互作用关系，并使用不同的决策生成算法（如策略选代、Monte Carlo树搜索等）来生成最佳的决策策略。因此，决策生成智能涉及强化学习、统计学、优化等领域。4.1 决策的数学内涵决策可被视为一个优化问题，在给定约束条件下选择一组决策变量以最大化或最小化一个或多个目标函数。决策变量是可调参数，约束条件是其取值需满足的条件，如资源限制。目标函数是衡量决策结果的标准。当存在多目标时，需要进行权衡和优化。决策过程中通常存在不确定性，来自外部环境、数据不完备等，需考虑稳健性。决策者需评估和管理风险，分析可能的风险情景，并设计合适的风险管理策略，以降低不利结果的发生概率或影响程度。决策的数学理论主要研究在不确定条件下通过数学方法和工具来优化决策方案。其主要内容包括：决策模型，如决策树、Markov决策过程、Bayes网络等，用于描述决策过程中状态、行动和结果之间的关系，以便评估和比较不同决策方案；决策准则，如最大化效用、最小化损失、最大化期望收益、最小化风险等，用于指导在不确定条件下做出最优的决策选择；不确定性建模，包括概率论、统计学和模糊逻辑等方法，用于量化不确定性和评估决策的风险；评估和选择最佳解决方案，通过比较解决方案的效用或利弊来实现，常用方法包括多目标优化技术和决策分析方法，如Pareto最优解的选择、权衡法和分级排序等。决策常涉及多目标决策，如在对抗环境中的攻击对象选择等情境。在这种情况下，决策者需要在不同目标之间进行权衡和平衡，以找到最佳解决方案，满足多个目标的要求和限制。多目标决策需要综合运用多目标优化、决策分析和权衡方法，以实现最终的决策目标。决策者会根据自身偏好和重要性为不同目标排序并赋予权重，以反映不同目标对决策结果的相对重要性。在多目标决策中，存在一组解被称为非支配解， 即在所有目标上至少有一个目标比其他解更好，而在其他目标上至少有一个目标与其他解一样好。这些解构成了一个Pareto最优解集合，可从中选择解决方案。决策通常需要借助运筹规划理论来优化资源分配和制定决策方案。运筹优化理论提供了一系列强大的工具和技术，帮助决策者在复杂环境中做出最佳决策，包括资源利用优化、成本降低和效率提高等方面。常用的理论有：线性规划，用于解决线性约束条件下的最优化问题，目标是最大化或最小化一个线性目标函数，广泛应用于资源分配、生产计划和运输等领域；整数规划，是线性规划的扩展，限制决策变量为整数值，常用于需要离散决策的问题，如生产调度和设施选址；非线性规划，用于解决目标函数或约束条件为非线性的最优化问题，在工程设计、经济学和金融等领域广泛应用；动态规划，解决具有重叠子问题和最优子结构性质的问题，常用于处理阶段性决策问题，例如库存管理和生产计划。这些方法为决策者提供了强大的工具，帮助他们在面对复杂问题时做出明智的决策，并有效地利用资源以实现预期的目标。在数学上，决策论与博奕论相关，均研究在不确定环境下决策者或居中人的最优选择和策略互动。在决策理论中，个体或组织在面对不确定性时寻找最佳决策，而博奕理论则侧重于多个决策者相互作用的情境。决策理论关注单个决策者的最优选择，而博奕理论考虑各方相互影响，追求利益最大化。博奕理论涉及博奕类型、均衡概念和策略选择，旨在解决决策者之间的相互作用和冲突，寻求最优解决方案。4.2 智能决策与强化学习强化学习是一种通过与环境进行交互来学习如何做出决策的机器学习方法，与智能决策密切相关。强化学习的基本元素包括：智能体，可以学习和做出决策的实体，如机器人、游戏角色等；环境，智能体与之互动的对象，可以是物理世界、虚拟世界等；动作，智能体可以执行的操作，如移动、跳跃、攻击等；状态，智能体在环境中的当前状态，如位置、速度、生命值等；奖励，智能体在执行动作后接收的反绩；策略，智能体在状态下选择动作的规则。强化学习的核心思想是：智能体在一个环境里面根据观测信息作出决策，并根据环境给的反馈（奖励）提升决策能力，使得自己能够在后续交互中拿到更多的奖励。因此，强化学习为智能决策提供了理论框架和方法论，使智能体能够通过与环境的交互学习改进其策略，实现智能和有效的行为。在这种框架下，智能体不断尝试和调整行为，以最大化未来可能获得的奖励。这种灵活方法使得智能体能够在复杂和不确定的情境中做出最优选择，逐步优化其决策策略，实现更智能化的行为。自2015年起，强化学习与深度学习结合在多个控制领域展现出超越人类专家的决策水平，包括 Atari 游戏、下棋和机器人控制。在离散控制领域，从最早的Deep Q-Network（DQN）到采用分布式架构的A3C（Asynchronous Advantage Actor-Cri…

深度学习、生成式人工智能与大模型
type: item
date: 2024-10-23T11:29:00+08:00
description: 本章将探讨深度学习、生成式人工智能与大模型的概念、原理、应用以及未来发展趋势。深度学习是一个多层堆叠的学习框架，在感知问题上取得了巨大成功。生成式人工智能专注于预测目标的概率分布。大模型具有大量参数，在大数据上进行训练，能够生成出逻辑性和创造性的文本、 图像、音乐等内容，但需要大量计算资源和较长训练时间。深度学习与生成式人工智能是大模型的两个核心技术，共同推动着大模型的快速发展与广泛应用。3.1 深度学习深度学习在2010年左右崭露头角，很快成为机器学习领域的一场革命。2011年，IDSIA 的Ciresan开始利用GPU训练的深度神经网络赢得了学术图像分类竞赛，这是现代深度学习的第一次实际成功。2012年， 由Hinton所指导的Krizhevsky团队参加了当时难度很大的大规模图像分类挑战赛ImageNet，需要对140万张图像进行训练并将高分辨率彩色图像分类为1000个类别。该团队实现了83.6%的前五名准确率，这是一项重大突破。在2011年，基于经典计算机视觉方法的获胜模型的前五名准确率仅为74.3%。此后，每年的竞赛几乎都由深度卷积神经网络主导，到2015年，获胜者的准确率已经达到96.4%，因此ImageNet被认为是一个完全解决的问题。自2012年以来，深度卷积神经网络已经成为所有计算机视觉任务的首选算法，甚至更广泛地处理各种感知任务。在主要的计算机视觉会议上，几乎所有的研究都涉及某种形式的卷积网络。与此同时，深度学习也在许多其他类型的问题上得到了应用，例如自然语言处理。它已经完全取代支持向量机和决策树等传统方法。例如，多年来，欧洲核子研究组织CERN一直使用基于决策树的方法来分析大型强子对撞机 ATLAS 探测器的粒子数据，之后转而使用基于 Keras 的深度神经网络，因为它们具有更高的性能并且易于在大型数据集上进行训练。深度学习是一种基于多层人工神经网络结构的机器学习方法，通过多层次的特征提取和抽象，实现对数据的高效表示和学习。深度学习模型由前绩神经网络、循环神经网络和卷积神经网络等叠加而成。叠加的层数称为深度，通常包括数十甚至数百个连续的表示层。每层执行的操作由其权重决定。模型的学习目标是找到使网络能够正确映射数据输入到目标输出的权重值。深度神经网络包含大量参数，调整其中一个可能影响其他参数行为。为了优化网络表现，需要使用损失函数衡量预测输出与真实目标之间的差距，并通过反向传播算法调整权重值以降低损失函数。随机初始化网络参数。在训练过程中，优化器根据损失函数的反绩信号微调参数，使损失函数值逐渐降低，直至网络收敛到最小化损失的状态，此时网络的输出尽可能接近预期目标，称为训练好的网络。深度学习不等于依次使用浅层学习。深度学习的变革之处在于其允许模型同时联合学习所有表示层，而不是依次学习。通过联合特征学习，每当模型调整其中一个特征时，其他特征会自动适应变化，不需要人工干预。深度学习通过逐层学习复杂的抽象表示，并将其分解为一系列简单的转换来实现这一点。这种逐层的联合学习方式使得深度学习比依次使用浅层学习模型更加成功， 因为多层模型中的最佳第一层并不是单层或两层模型中的最佳第一层。深度学习在感知领域取得了巨大成就，包括：图像分类接近人类水平，能够准确识别图像中的对象和场景；语音识别接近人类水平，将语音准确转换为文本；手写转录接近人类水平，能够准确将手写文本转录为数字或文字；改进的机器翻译，使得机器翻译逼近人类水平；改进的文本到语音转换，使得生成的语音更加流畅自然；数字助理（如Google Now和Amazon Alexa）使得语音交互更智能和人性化，能够准确理解用户指令并提供相应服务。3.2 生成式人工智能生成式人工智能（Generative Artificial Intelligence，GenAI）指具有生成能力的人工智能系统，能够根据输入数据生成新的内容或样本。它们不仅分析、预测或分类已有数据，还能生成新的数据、文本、 图像、音频等内容。生成式模型起源于20世纪50年代的隐马尔可夫模型和高斯混合模型，并随着深度学习的发展，在语音识别和图像恢复等领域取得了显著性能改进。GenAI 借鉴了人类创造力和想象力，推动了人工智能的发展。深度生成模型是一类具有多层结构的生成式模型，包括深度生成对抗网络（Deep Convolutional Generative Adversarial Network，DCGAN）、深度Boltzmann机（Deep Boltzmann Machines）等。这些模型通过堆叠多个隐藏层来学习数据的分布，并生成新的数据样本，在捕捉数据复杂分布和生成高质量样本方面表现出色。而变分自编码器、生成式对抗网络等 GenAI 模型为其提供了重要的理论基础和方法支持。变分自编码器（Variational …

符号人工智能与机器学习
type: item
date: 2024-10-23T11:26:00+08:00
description: 1 引言人工智能已成为全球竞争的焦点，被视为引领未来的战略性技术。2018年6月，美国前国务卿Kissinger首次公开表示，人类社会并未准备好迎接人工智能的崛起。到了2021年9月，Kissinger等再次强调了人工智能对全球安全和世界秩序的深远影响，警告其潜在破坏力可能超过核武器。尽管核武器具有毁灭性，但它们不具备人工智能所具有的自主启动、 自主选择目标的能力。Kissinger建议美中启动高科技安全对话，并建立机构，负责及时通报危险并降低风险。随着大模型的涌现，人工智能的战略重要性进一步提升。我国于2017年发布了《新一代人工智能发展规划》， 明确到2030年，要将我国人工智能推向世界领先水平。2022年，科技部等六部门发布了《关于促进经济高质量发展的人工智能应用指导意见》， 随后又公布了《关于支持建设新一代人工智能示范应用场景的通知》。2023年， 国家信息中心发布《智能计算中心创新发展指南》，指出智算中心要围绕“算力生产、算力聚合、算力调度、算力释放”核心业务功能，为各行业领域人工智能应用提供稳定的技术支撑，打造可持续发展的算力生态。同年，国家 自然科学基金委员会发布“集成芯片前沿技术科学基础”重大研究计划，集中关注集成芯片前沿技术的科学基础，包括芯粒的数学描述和组合优化理论、大规模芯粒并行架构设计自动化、 以及芯粒尺度的多物理场耦合机制与界面理论。2 符号人工智能与机器学习感知、学习、推理、协作是典型的智能行为，涵盖了数据分析、机器学习、 自动推理、智能决策等核心领域，与人工智能的起源、成就与发展相辅相成。人工智能的起源可追溯至20世纪50年代， 当时计算机科学家开始探索让计算机具备类似人类思考能力的可能性：能否通过数据自动学习规则，而无需程序员制定规则?人工智能旨在自动化执行通常由人类执行的智力任务。这一领域涵盖了符号人工智能和机器学习等方法， 同时也包括一系列不涉及深度学习的高效技术（图1）。图1 本文所介绍的人工智能领域与模型的关系脉络2.1 符号人工智能在人工智能领域，符号人工智能（Symbolic Artificial Intelligence）是指所有基于问题、逻辑和搜索的高级符号（人类可读）表示的方法的集合。符号人工智能使用了诸如逻辑编程、产生式规则、语义网络和框架等工具 ，并发展了诸如基于知识的系统（特别是专家系统）、符号数学、 自动定理证明器、本体论、语义网以及自动规划和调度系统等应用。符号人工智能范式产生了在搜索、符号编程语言、代理程序、多代理系统、语义网以及形式知识和推理系统的优势和局限性方面的重要思想。计算机先驱Babbage提出了差分机与分析机的设计概念，并部分实现。尽管当时还未出现通用计算的概念，这些设计被认为是一种使用机械操作来执行计算的方法，而非现代意义上的计算机。诗人、数学家Lovelace发表了分析机的第一段算法，因此被公认为史上第一位程序员。她将分析机称为机械式通用计算机，并认为其具有无限潜力，但不可能有真正的智能。Turing提出了图灵测试和塑造人工智能关键概念，质疑Lovelace的论断。计算机是否能够超越人类的指令，进行自主学习?Turing认为能。这个问题推动了机器学习的发展，从经典的规则驱动的编程转变为数据驱动的编程，开启了人工智能新时代的大门。从20世纪50年代到80年代末，许多专家倾向于通过让程序员手工制定一组庞大的明确规则来实现人类水平的人工智能。这种方法被称为符号人工智能，是当时人工智能的主导范式，尤其在20世纪80年代的专家系统热潮中达到巅峰。1959年，数理逻辑学家王浩设计了一个程序，利用计算机证明了Russell和Whitehead的巨著《数学原理》中的数百个命题逻辑定理，标志着用计算机进行定理证明的可能性。机器证明是指利用计算机自动推理，来完成数学或逻辑定理证明。它将待证明的定理或命题表示为形式化的数学语言或逻辑表达式，并利用计算机执行一系列逻辑推理和推导步骤，从给定的事实、规则或前提出发，自动地得出新的结论或推断。它是一种基于逻辑或数学规则的推理过程，旨在模拟人类的推理能力。数学家吴文俊从中国古代数学历史中总结出了算法的思想，将几何定理证明通过建立多项式方程变成代数运算，再用计算机来处理代数运算。1977年，吴先生研究了初等几何判定问题的机器证明，进而建立了多项式组特征列的概念，提出了多项式组的“三角化整序法”，实现了高效的机器几何定理证明，在国际数学界被称为“吴方法”，推动了机械化证明的发展，被应用到机器人学、计算机图形学、工程设计等领域。2.1 机器学习尽管符号人工智能在解决明确定义的逻辑问题（如国际象棋）方面取得成功，但面对更复杂和模糊的问题，如图像分类、语音识别和语言翻译时，通过手工制定明确规则变得非常困难。于是，一种新的方法崭露头角，取代了…

面试:说一下SSE与websocket的区别
type: item
date: 2024-10-21T10:58:48+08:00
description: SSE (Server-Sent Events) 和 WebSocket 都是用于实现实时通信的技术，但它们有一些关键的区别通信方向：SSE：单向通信（服务器到客户端）WebSocket：双向通信（服务器到客户端，客户端到服务器）协议：SSE：使用 HTTP 协议WebSocket：使用 WebSocket 协议（初始握手通过 HTTP 升级）连接：SSE：使用标准 HTTP 连接，保持长连接WebSocket：建立专用的 WebSocket 连接数据格式：SSE：仅支持文本数据，通常使用 UTF-8 编码WebSocket：支持文本和二进制数据自动重连：SSE：浏览器原生支持自动重连WebSocket：需要手动实现重连逻辑跨域支持：SSE：受同源策略限制，需要 CORS 支持WebSocket：天生支持跨域服务器推送：SSE：设计用于服务器推送场景WebSocket：可用于服务器推送，但主要用于双向通信实现复杂度：SSE：相对简单，易于实现和维护WebSocket：较复杂，需要处理更多的连接状态浏览器支持：SSE：现代浏览器广泛支持，但 IE 不支持WebSocket：几乎所有现代浏览器都支持适用场景：SSE：适用于通知、实时新闻、股票行情等单向数据流WebSocket：适用于聊天应用、多人游戏等需要频繁双向通信的场景防火墙穿透：SSE：使用标准 HTTP，较少遇到防火墙问题WebSocket：可能被某些防火墙阻止资源消耗：SSE：相对轻量，服务器资源消耗较少WebSocket：维护全双工连接，可能消耗更多服务器资源选择使用 SSE 还是 WebSocket 取决于你的具体需求。如果只需要服务器向客户端推送数据，SSE 可能是更简单、更轻量的选择。如果需要双向通信或处理大量实时数据，WebSocket 可能更合适

AI 赋能的高效工具汇总
type: item
date: 2024-10-16T11:52:06+08:00
description: 详细分享10款实用的AI工具，遍布多个行业领域和多种使用场景，说不定其中的某个神器就能解决你现在面临的难题，详细介绍和工具链接都在AI智库中。

起步-Three.js WebGL兼容性检查（WebGL compatibility check）
type: item
date: 2024-10-12T15:29:00+08:00
description: WebGL兼容性检查（WebGL compatibility check）虽然这个问题现在已经变得越来不明显，但不可否定的是，某些设备以及浏览器直到现在仍然不支持WebGL 2。以下的方法可以帮助你检测当前用户所使用的环境是否支持WebGL 2，如果不支持，将会向用户提示一条信息。导入 WebGL 兼容检测模块，并在尝试渲染任何内容之前运行以下程序。import WebGL from 'three/addons/capabilities/WebGL.js'; if ( WebGL.isWebGL2Available() ) { // Initiate function or other initializations here animate(); } else { const warning = WebGL.getWebGL2ErrorMessage(); document.getElementById( 'container' ).appendChild( warning ); }[button color="success" icon="" url="https://webglreport.com/" type=""]在线测试地址[/button]