关于机器学习:6月人工智能论文推荐

Prompt Space Optimizing Few-shot Reasoning Success with Large Language Modelshttps://arxiv.org/abs/2306.03799 Prompt engineering 是通过提供明确和具体的指令来加强大型语言模型(llm)能力的根本技术。它使LLM可能在各种工作中怀才不遇,例如算术推理、问题答复、摘要、关系提取、机器翻译和情感剖析。钻研人员始终在积极探索不同的提醒工程策略,如思维链(CoT)、零样本思维链(Zero-CoT)和情境学习(In-context learning)。然而一个尚未解决的问题是,目前的办法不足确定最佳提醒的松软实践根底。为了解决提醒工程中的这一问题,论文提出了一种新的、无效的办法——提醒空间。 ESL-SNNs: An Evolutionary Structure Learning Strategy for Spiking Neural Networkshttps://arxiv.org/abs/2306.03693 缩小SNN模型大小和计算,同时在训练过程中通过修剪和再生连贯的进化过程放弃准确性。 在推理过程中,Spiking neural networks在功耗和事件驱动个性方面体现出显著的劣势。为了充分利用低功耗的劣势,进一步提高这些模型的效率,论文摸索了在训练后寻找冗余连贯的稠密snn的剪枝办法。在人脑中,神经网络的从新布线过程是高度动静的,而突触连贯在大脑发育过程中放弃绝对稠密。受此启发,轮文提出了一种高效的SNN进化构造学习(ESL)框架,命名为ESL-SNN,用于从头开始实现稠密SNN的训练。 Segment Anything in High Qualityhttps://arxiv.org/abs/2306.01567 用掩码校对对SAM进行批改能够进步性能,特地是在边缘状况下。 SAM代表了一个微小的飞跃,只管应用了11亿个掩码进行训练,但SAM的掩码预测品质在许多状况下都存在有余,特地是在解决结构复杂的物体时。论文精心设计重用并保留了SAM的预训练模型权重,同时只引入了最小的额定参数和计算。 SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compressionhttps://arxiv.org/abs/2306.03078 通过量化将llm压缩到每个Int4,能够实用于笔记本电脑和移动电话等内存无限的设施,从而实现个性化应用。然而量化到每个参数3-4位通常会导致中等到高的精度损失,特地是对于1-10B参数范畴内的较小模型。为了解决这个准确性问题,论文引入了稠密量化示意(SpQR),这是一种新的压缩格局和量化技术,首次实现了llm跨模型尺度的近无损压缩,同时达到了与以前办法类似的压缩程度。SpQR的工作原理是辨认和隔离导致特地大的量化误差的异样权重,并以更高的精度存储它们,同时将所有其余权重压缩到3-4位。 Tracking Everything Everywhere All at Oncehttps://arxiv.org/abs/2306.05422 从视频序列中预计密集和远距离静止的测试工夫优化办法。 先前的光流或粒子视频跟踪算法通常在无限的工夫窗口内运行,难以通过遮挡进行跟踪并放弃预计静止轨迹的全局一致性。论文提出了一种残缺且全局统一的静止示意,称为OmniMotion,它容许对视频中的每个像素进行精确的全长静止预计。OmniMotion应用准3d标准体积示意视频,并通过本地和标准空间之间的双射执行逐像素跟踪 Leveraging Large Language Models for Scalable Vector Graphics-Driven Image Understandinghttps://arxiv.org/abs/2306.06094 大型语言模型(llm)在自然语言了解和生成方面获得了重大进展。然而它们在计算机视觉方面的后劲在很大水平上仍未被摸索。论文介绍了一种新的探索性办法,使llm可能应用可缩放矢量图形(SVG)格局解决图像。通过利用基于xml的SVG示意的文本形容而不是光栅图像,指标是弥合视觉和文本模式之间的差距,容许llm间接了解和操作图像,而不须要参数化的视觉组件 ...

June 18, 2023 · 1 min · jiezi

关于机器学习:文字生成图像-AI免费工具第二弹-DreamStudio

介绍Stable Diffution,就也要提一下DreamStudio,它是Stable Diffusion的母公司Stability AI开发的一个文字生成图像工具,邮箱注册后能够收费生成125张图片。 尽管是基于同样的技术,然而DreamStudio生成的图片却呈现出了齐全不同的成果。同样的英文输出下,图片中人物的成果显著更加真切,然而它偏题过于重大,甚至第四张图片有日本队乱入的嫌疑。DreamStudio也能够反对中文输出,不过它对于中文的理解能力切实是过于堪忧,让人啼笑皆非的是间接给了我四个瓶子进去。不过我起初认真一想,如同不是AI的锅,它应该是把China翻译成了瓷器,而且十分准确的没有给我生成瓶子盘子碗,而是杯子,就冲这一点,我必须给它打个50分。 怕学AI太难,那咱们就先和AI玩起来。关注咱们,还有更多的收费工具介绍给大家,就差你的创意了。再见 可交互的可视化机器学习开源教程 - https://github.com/ocademy-ai/machine-learning

June 16, 2023 · 1 min · jiezi

关于机器学习:达摩院细粒度分类SoftTriple-Loss-ICCV高引论文深入解读

一、背景度量学习是一种机器学习办法,它次要用于在相似性度量的根底上进行数据挖掘。具体来说,度量学习通过学习一种函数来度量两个数据样本点的相似性。这种函数称为度量函数,它的目标是在尽可能减少度量谬误的同时最小化类似数据样本点之间的间隔。典型的度量学习办法包含Triplet Loss、ProxyNCA、Npairs等。度量学习能够利用于许多畛域,例如:1.)图像分类:度量学习能够用来帮忙计算机辨认图像中的物体。例如,通过学习数据集中的图像时,能够计算出两张图像之间的类似度,从而帮忙计算机对新图像进行分类。例如,可能将图像分类到“狗”、“猫”或“其余”的类别中。度量学习在图像识别和分类中的利用十分宽泛,且获得了很好的成果。2.)文本分类:在文本畛域,度量学习能够用来对文本进行分类,例如将文本分为侧面或负面的情感,或者将它们分类到特定的主题中。假如咱们有一组文档,每个文档都属于某一个类别,比方技术文章、新闻报道、娱乐新闻或体育新闻。咱们能够训练一个模型,该模型可能将一篇新闻报道与一篇技术文章辨别开来,并将它们别离分类到新闻报道或技术文章的类别中。 残缺内容请点击下方链接查看: https://developer.aliyun.com/article/1207732?utm_content=g_10... 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

June 16, 2023 · 1 min · jiezi

关于机器学习:时间序列异常检测统计和机器学习方法介绍

在本文中将摸索各种办法来揭示工夫序列数据中的异样模式和异样值。 工夫序列数据是按肯定工夫距离记录的一系列观测后果。它常常在金融、天气预报、股票市场剖析等各个领域遇到。剖析工夫序列数据能够提供有价值的见解,并有助于做出理智的决策。 异样检测是辨认数据中不合乎预期行为的模式的过程。在工夫序列数据的上下文中,异样能够示意偏离失常模式的重大事件或异样值。检测时间序列数据中的异样对于各种利用至关重要,包含欺诈检测、网络监控和预测性保护。 首先导入库,为了不便数据获取,咱们间接应用yfinance: import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import yfinance as yf # Download time series data using yfinance data = yf.download('AAPL', start='2018-01-01', end='2023-06-30')了解工夫序列数据在深入研究异样检测技术之前,先简略介绍工夫序列数据的特色。工夫序列数据通常具备以下属性: 趋势:数据值随工夫的长期减少或缩小。季节性:以固定距离反复的模式或循环。自相干:以后观测值与先前观测值之间的相关性。噪声:数据中的随机稳定或不规则。让咱们可视化下载的工夫序列数据 # Plot the time series data plt.figure(figsize=(12, 6)) plt.plot(data['Close']) plt.xlabel('Date') plt.ylabel('Closing Price') plt.title('AAPL Stock Price') plt.xticks(rotation=45) plt.grid(True) plt.show() 从图中能够察看到股票价格随工夫增长的趋势。也有周期性稳定,表明季节性的存在。间断收盘价之间仿佛存在一些自相关性。 工夫序列数据预处理在利用异样检测技术之前,对工夫序列数据进行预处理是至关重要的。预处理包含解决缺失值、平滑数据和去除异样值。 缺失值 因为各种起因,如数据收集谬误或数据中的空白,工夫序列数据中可能呈现缺失值。适当地解决缺失值以防止剖析中的偏差是必要的。 # Check for missing values missing_values = data.isnull().sum() print(missing_values)咱们应用的股票数据数据不蕴含任何缺失值。如果存在缺失值,能够通过输出缺失值或删除相应的工夫点来解决它们。 ...

June 16, 2023 · 3 min · jiezi

关于机器学习:Generative-AI-新世界文本生成领域论文解读

在上一篇《Generative AI 新世界:过来、当初和将来》中,我做为一名已经屡次穿梭过市场周期的从业者,对 Generative AI 的倒退历程、目前的热点方向、以及对将来的畅想做了一个梳理,心愿能够帮忙大家理清这个新周期的一些底层逻辑,例如常识底座、利用蓝图、以及倒退方向和潜在时机等方面的内容。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!就在我在筹备这个专题系列的下一篇内容时,就在这个月,一个更酷炫的“学霸”型文本生成模型 GPT-4 正式公布了!依据 GPT-4 的官网技术报告,这个“学霸” 型文本生成模型曾经能够以各种炫技高分通过各种标准化考试了。例如: GRE Verbal:靠近满分律师入学考试LSAT (Law School Admission Test):进入前 10% 左右律师执照考试UBE (Uniform Bar Exam):进入前 10% 左右SAT Reading & Writing:进入前 7%SAT Math:进入前 10% 左右…… Source:https://cdn.openai.com/papers/gpt-4.pdf?trk=cndc-detail 技术报告中还举例展示了 GPT-4 的具体解题剖析过程,例如用户间接给一张考试题的照片,让 GPT-4 一步步思考作答。如下图所示: GPT-4 模型看图之后,一板一眼地解答如下: 对于 GPT-4 更多细节,咱们还会在本文的第四节中更具体地做出介绍。 文本生成文本生成(Text Generation)畛域的提高真堪称是突飞猛进。为了更好这个畛域的这些激动人心的技术提高,让咱们一起来深刻探索下文本生成畛域的次要几篇论文:InstructGPT,RLHF,PPO,GPT-3,以及GPT-4。 1 InstructGPT 论文概述咱们将以一个文本生成(Text Generation)的经典论文 (InstructGPT)来解读目前在该畛域的 SoTA 模型结构设计和训练方法。 Paper Source: https://arxiv.org/pdf/2203.02155.pdf?trk=cndc-detail 咱们先来看看 InstructGPT 论文的摘要。 这张图片显示了我通读这篇论文摘要时的一些评论和笔记。 我记录的次要大纲是: 论文的总体想法(Fine-tune human feedback)他们是如何收集数据集的?(收集了问题和答案)他们如何微调数据集?(在 GPT-3 上有监督式学习)他们为什么称之为 “InstructGPT”?(在人工评估中...)后果(只有 GPT-3 的 1% 模型参数然而 InstructGPT 的后果更好)InstructGPT 的论文共有 68 页,我想重点介绍的亮点是:来自人类反馈的强化学习(简称为 RLHF)。 ...

June 14, 2023 · 3 min · jiezi

关于机器学习:识别一切模型RAMRecognize-Anything-Model及其前身-Tag2Text-论文解读

总览大家好,我是卷了又没卷,薛定谔的卷的AI算法工程师「陈城南」~ 负责某大厂的算法工程师,带来最新的前沿AI常识和工具,欢送大家交换~ 继MetaAI 的 SAM后,OPPO 研究院公布辨认所有模型(Recognize Anything Model,RAM): 我的项目链接:https://recognize-anything.github.io/Demo链接:https://huggingface.co/spaces/xinyu1205/Tag2Text源码链接:https://github.com/xinyu1205/recognize-anything论文链接:https://arxiv.org/pdf/2306.03514.pdf 无论是从论文内容、源码git或者Demo,都不难看出 RAM 其实是一个增强型的 Tag2Text,RAM中提到的辨认,实质上是图片标记工作(image tagging),而 Tag2Text 也是作者团队提出的可利用于 image tagging 工作的大模型预训练框架。 图片辨认:给一个图片,旨在通过辨认给定图像的多个标签来提供语义标签,能够了解为给出多个tags用来形容这个图,包含指标(object)、场景(scene)、属性(attribute)和行为(action),是一个多标签分类(multi-label classification)。宰割所有模型(SAM)的Zero Shot能力很强,但其只有定位能力(location),没有辨认能力(SAM只能给出宰割Mask,没法指定该Mask的类别)。因而RAM旨在于提供弱小的辨认能力(蕴含Zero Shot的辨认能力)。作者也将RAM和定位模型(SAM、Grounding-DINO)进行了联合,具体在Grounded-SAM我的项目中,这样就能同时达到定位+辨认了。下图是作者给出的SAM、RAM等模型的别离特点。 因为RAM的很大工作都是基于Tag2Text,所以在介绍RAM前我须要先介绍Tag2Text,理解Tag2Text论文的敌人能够间接看RAM。 Tag2Text:Guiding Vision-Language Model via Image TaggingTag2Text是一种视觉语言预训练(Vision Language Pretrain, VLP)框架。在该框架中,作者通过对视觉语言模型(Vision-Language Models)引入图片标记(images tagging)工作来领导模型学习更好的视觉-语言特色。图片标记,相似于给一个图片打个多个与图片无关的label,有点像多label分类。 如上图所示,之前的Tagging办法(OSCAR、VIVO 、VinVL)遵循的是基于检测器的范式。通过应用指标 tags 作为锚点来简化图片和文本之间的语义对其。这些办法通过一个检测器来提取图片特色,并送进多模态交互模块中进行学习。这种状况下检测器参数都是冻住的(如果梯度优化检测性能就会骤降),所以检测器不能优化,导致检测器性能会制约视觉-语言特色的学习。 作者提出了用 图片标记 来作为 视觉语音预训练的多任务,有两个关键问题:数据和网络结构。 数据问题引入了图片标记(image tagging)就须要结构图片中的tags 作为 label 用于训练。因为 image-text-pair数据很丰盛,所以作者对image-text-pair进行自动化文本语义解析,从而从text中获取图片的tags。这样,图像tags能提供了图像和文本之间更好的桥梁,因为解析的标记类别更加多样化,同时比指标检测的object更丰盛,有例如场景、属性、动作等。 从Text开掘Tags来构建数据,蕴含2个要害: 解析获取Tags:利用解析器[58]来辨认Text中的实体(head+modifier)和关系,而后映射出tags:Head->指标(object)和场景(scene),modifier->attribute,relationship->action;筛选无效Tags:失去解析后的Tags汇合,依照Tags的频率将其排序,只取前5000个最高频的进行人工筛序,最初保留了3429个tag类别作为须要的无效Tags;网络结构如下图,蕴含3个分支:Tagging, Generation, Alignment,为不同的工作分支,训练后别离能够用于不同的子工作。比方下图左边的:多标签辨认(就是tagging),Image Caption生成,Visual QA 和 Image-Text 检索,这几个子工作。 Image Tagging:用了Query2Label中的多label分类transformer decoder(用法如下图,都是DETR的思路),同时为了防止解析的tags中有某些对应图片tag的缺失、正负样本的不均衡,应用了Asymmetirc Loss(ASL)。 Image-Tag-Text Generation:用了NLP中规范的transformer的encoder-decoder框架,tags/text 都通过 tokennizer + embeding matrix 映射为 embeding,而后 tags embeding(随机乱序,避免程序影响学习)与 image embedding(features) 一起送入 encoder,再通过decoder解码。输入与text embedding进行loss计算。相当于用 tag 领导 image 生成 text; ...

June 14, 2023 · 2 min · jiezi

关于机器学习:阿里云PAIx达摩院GraphScope开源基于PyTorch的GPU加速分布式GNN框架

作者:艾宝乐 导读近期阿里云机器学习平台 PAI 团队和达摩院 GraphScope 团队联合推出了面向 PyTorch 的 GPU 减速分布式 GNN 框架 GraphLearn-for-PyTorch(GLT) 。GLT 利用 GPU 的弱小并行计算性能来减速图采样,并利用 UVA 来缩小顶点和边特色的转换和拷贝。对于大规模图,GLT 应用了生产者-消费者的架构,通过异步并发的分布式采样和特色查找以及热点缓存性能反对在多个 GPU 或多个机器上进行高效的分布式训练。接口上,GLT 放弃了 PyTorch的格调,并且和 PyG 兼容,只需大量代码批改就能够减速 PyG 的单机训练程序,或者将 PyG 单机模型改成分布式训练。此外,GLT 还提供了灵便的分布式训练部署以满足不同的需要。 开源地址:https://github.com/alibaba/graphlearn-for-pytorch 文档地址:https://graphlearn-torch.readthedocs.io/en/latest/index.html 背景介绍图神经网络作为一种图数据上示意学习的办法曾经被广泛应用在图相干的各个领域,在电商举荐、平安风控、生物分子等畛域获得了理论落地。图神经网络因为其独特的数据处理逻辑和神经网络计算逻辑,须要有专门的学习框架来反对训练。PAI团队之前开源了大规模工业级分布式图学习框架 GraphLearn(https://github.com/alibaba/graph-learn)。GraphLearn 以 TensorFlow 1.x 系列为主,采纳 ps 架构的异步训练模式,反对十亿节点,百亿边规模的大规模异构图分布式训练,利用于阿里内外部若干业务场景。随着PyTorch 的风行,其更加灵便的贴近 Python 的接口,简略易调试等个性使得算法开发者更偏向于应用 PyTorch 开发模型。DGL 和 PyG等基于PyTorch的开源GNN框架以单机为主,无奈反对大规模图的分布式训练。 此外,因为 GPU 并行计算的劣势,图神经网络应用 GPU 训练比 CPU 训练有数倍的晋升。然而常见的图神经网络框架将图拓扑数据和特色存在内存里,应用CPU进行采样和特色查找并将数据拷贝到GPU进行神经网络训练,这个过程中图采样和特色查找局部很容易成为整体训练的瓶颈。上面咱们以大规模图上典型的训练流程为例对训练过程的性能瓶颈进行剖析阐明。 一个典型的GNN训练流程[1] 包含: 子图拓扑采样,采样多跳街坊并组成子图;查问子图里节点或者边的特色;将子图格局转换成神经网络训练须要的格局并且拷贝到GPU显存中;对原始特色进行解决,比方离散特色进行embedding lookup;街坊聚合;节点更新。其中,3和4为可选步骤。常见的 GNN 模型神经网络参数相对来说比拟小,因而计算量也比拟小,瓶颈通常在1-4步,具体来说次要是I/O操作,包含通信,数据拷贝和格局转换。这导致即便应用GPU进行训练,GPU的资源利用率也很低,整体吞吐以及扩展性很难进步。 综上所述,咱们须要一个高效的基于PyTorch 的分布式 GNN 训练框架,可能充分利用 GPU 等硬件资源,可能基于图的数据分布性质,联合不同算法模型和并行策略做相应优化,缩小通信和数据转换耗时,晋升整体吞吐。 要害设计设计初期,咱们和 Quiver[2] 团队单干针对 GPU 采样的可行性进行了初步摸索,发现 GPU 采样相比 CPU 可能带来数量级的晋升。此外,为了缩小特色在 CPU 内存和 GPU 显存之间的拷贝开销,特色能够间接存储在 GPU 显存里。然而对于规模比拟大的数据来说,显存无奈存储所有特色数据,因而咱们用 UVA 技术来进行特色的存储,相比间接内存存储也有数量级的性能晋升。工业界的图规模很容易冲破单机的极限,因而咱们进一步设计了分布式训练框架。具体来说,咱们应用生产者-消费者范式来解决分布式图采样和特色查找以及模型训练的关系,将图采样、特色查找与训练进行解耦,应用多过程并行和协程异步并发来减速采样和特色查找,并应用预取和热点缓存的形式进一步缩小训练端的期待,晋升端到端吞吐。思考到用户迁徙老本和易用性,在接口上咱们放弃了和 PyG 的兼容,只需大量改变 PyG 代码就能够减速 PyG 的训练,或者将其迁徙到 GLT 的分布式训练上。以下为咱们具体论述几个要害的设计点。 ...

June 14, 2023 · 2 min · jiezi

关于机器学习:文字生成图像-AI免费工具第一弹-StableDiffusion

随着ChatGPT的爆火,text-to-image文字生成图像、以及更狭义的AIGC(AI Generated Content)相干的话题最近始终热度不减。置信大家这几天常常会在各类的自媒体、甚至是本人的敌人圈里看到用人工智能生成的图片。从明天开始,我会用几期视频给大家带来多个完全免费的文字生成图像工具的介绍,让心痒痒的各位好好的解解馋,如果不想错过的话请关注咱们。废话不多说,咱们间接上攻略。 明天首先给大家介绍的是基于Diffusion Model的生成工具。Diffusion Model是当初文字生成图像畛域的最外围办法,可能还没有之一,当下最出名也最受欢迎的文字生成图像模型Stable Diffusion、Disco-Diffusion、Mid-Journey,DALL-E2 等等,都是基于Diffusion Model的。 Stable Diffusion也是最出名的开源文字生成图像模型,它公布于2022年8月,在GitHub上已有多达18K的star。 Stable Diffusion提供收费试用,甚至连注册都不须要。除了十分敌对的能够反对中文输出之外,它的试用网站上还提供了search prompts,prompt generator等不同的交互方式,大家有趣味都能够去试一试。这儿的prompt就是大家输出的文字的意思。 __ 我别离用中文和英文试验了在Stable diffution的世界里让中国队勇夺世界杯,但成果怎么说呢,着实是有点让人措手不及。显著Stable Diffusion可能肯定水平上比拟精确的判断文字的语义,而且对于英文的了解要强于中文。然而它所生成的图片就显得过于抽象派了一点,离远一些看还行,离近了看的话人脸都显得有些狰狞恐怖,而且也并非每一张都可能紧扣主题,所以我集体给它打60分吧。 介绍Stable Diffution,就也要提一下DreamStudio,它是Stable Diffusion的母公司Stability AI开发的一个文字生成图像工具,邮箱注册后能够收费生成125张图片。 尽管是基于同样的技术,然而DreamStudio生成的图片却呈现出了齐全不同的成果。同样的英文输出下,图片中人物的成果显著更加真切,然而它偏题过于重大,甚至第四张图片有日本队乱入的嫌疑。DreamStudio也能够反对中文输出,不过它对于中文的理解能力切实是过于堪忧,让人啼笑皆非的是间接给了我四个瓶子进去。不过我起初认真一想,如同不是AI的锅,它应该是把China翻译成了瓷器,而且十分准确的没有给我生成瓶子盘子碗,而是杯子,就冲这一点,我必须给它打个50分。 怕学AI太难,那咱们就先和AI玩起来。关注咱们,还有更多的收费工具介绍给大家,就差你的创意了。再见

June 13, 2023 · 1 min · jiezi

关于机器学习:编码生成矩阵与检错监督矩阵

本专栏蕴含信息论与编码的外围常识,按知识点组织,可作为教学或学习的参考。markdown版本已归档至【Github仓库:https://github.com/timerring/information-theory 】或者公众号【AIShareLab】回复 信息论 获取。线性分组码基本概念线性分组码数学定义: 编码前信息码元空间 $U^{k}$ , 经映射 $f$ , 编码后码字空间 $C^{n}$ , 即 $f: U^{k} \rightarrow C^{n}$ , 其中 $n>k$ 。 若 $f$ 进一步满足线性关系: $$f\left(\alpha \mathbf{u} \oplus \beta \mathbf{u}^{\prime}\right)=\alpha f(\mathbf{u}) \oplus \beta f\left(\mathbf{u}^{\prime}\right)$$ 其中 $\alpha, \beta \in G F(2)=\{0,1\}, \mathbf{u} 与 \mathbf{u}^{\prime} \in \mathbf{U}^{k}$ 则称 $f$ 为线性编码映射,进一步若 f 为一一对应映射,则 f 为惟一可译线性编码 。由 f 编写成的码 c 称为线性分组码。 线性分组码是一类奇偶校验码,它由(n,k )模式示意。编码器将一个 k 比特信息分组(信息矢量)转变成一个更长的由给定符号集组成的 n 比特编码分组(编码矢量)。当这个符号集蕴含 2 个元素 (0 and1) 时 , 称为二进制编码。 ...

June 13, 2023 · 4 min · jiezi

关于机器学习:从玩具到工具|社畜程序员用AI提效的神仙操作

腾小云导读 随着 AI 技术的日益倒退,前端开发模式和提效工具也在一直地变动。作为一名前端工程师,如何应答 AI 带来的挑战和时机?在这篇文章中,作者将介绍什么是 AIGC,并深入探讨 AI 在低代码平台的利用。心愿开发者通过本文对前端开发的提效和 AI 在低代码平台的利用有更多的意识。 目录 1 什么是 AIGC 1.1 文字 2.2 图片 2.3 音乐+视频 2 AI +前端 2.1 前端提效现状 2.2 AI 在低代码平台的利用 3 总结 01、什么是 AIGCAIGC 即 AI Generated Content,是指利用人工智能技术来生成内容,它被认为是继 PGC、UGC 之后的新型内容创作形式。近两年 AIGC 倒退速度惊人,迭代速度更是出现指数级暴发。 从 AI 模型性能上辨别,目前 AIGC 可分为文字、图片、音乐和视频的生成。 1.1 文字文字模型景象级利用当属 OpenAI 的 ChatGPT。聊天、创作故事、写代码、写诗、翻译等等,你能设想到的与文字相干的内容它都能做。 案例1: 与 ChatGPT 聊天。 案例2: 应用 ChatGPT 写代码,进步开发效率。 1.2 图片AI 生成图片是 AIGC 畛域倒退最快的赛道。 2022 年初,Disco Diffusion 横空出世引发了第一波 AIGC 爆点,然而画面不够清晰,作图速度慢。同年 7月份 Midjourney 凋谢公测,应用 Discord 端作画,1 分钟之内能够同时出 4 张图。8 月份,Stable Diffusion 正式公布,作图速度缩短至 10 秒之内。 ...

June 13, 2023 · 3 min · jiezi

关于机器学习:量子机器学习Variational-Quantum-Classifier-VQC简介

变分量子分类器(Variational Quantum Classifier,简称VQC)是一种利用量子计算技术进行分类工作的机器学习算法。它属于量子机器学习算法家族,旨在利用量子计算机的计算能力,潜在地晋升经典机器学习办法的性能。 VQC的根本思维是应用一个量子电路,也称为变分量子电路,将输出数据编码并映射到量子态上。而后,应用量子门和测量操作对这些量子态进行操作,以提取与分类工作相干的特色。最初,解决测量后果,并将其用于为输出数据调配类别标签。 VQC将经典优化技术与量子计算相结合。在训练过程中,将变分量子电路在量子计算机或模拟器上反复执行,并将后果与训练数据的实在标签进行比拟。通过迭代地调整变分量子电路的参数,使其在预测标签与实在标签之间的差别上最小化代价函数。这个优化过程旨在找到最优的量子电路配置,从而最大化分类准确性。尽管看起来很简略,但这种混合计算体系结构存在很多的挑战。 特色映射是第一阶段,其中数据必须编码为量子位。有许多编码方法,因为特色映射是从一个向量空间到另一个向量空间的数学变换。所以钻研如何为每个问题找到最佳映射,就是一个待钻研的问题 有了映射,还要设计一个量子电路作为模型,这是第二阶段。在这里咱们能够随心所愿地施展创意,但必须思考到同样的旧规定依然很重要:对于简略的问题,不要应用太多的参数来防止过拟合,也不能应用太少的参数来防止偏差,并且因为咱们正在应用量子计算,为了从量子计算范式中获得最佳成果,必须与叠加(superposition )和纠缠(entanglement)一起工作。 并且量子电路是线性变换,咱们还须要对其输入进行解决。比方非线性化的激活。 数据集和特色这里咱们将基于泰坦尼克号数据集设计一个分类器,咱们的数据集有以下特色: PassengerIDPassenger nameClass (First, second or third)GenderAgeSibSP (siblings and/or spouses aboard)Parch (parents or children aboard)TicketFareCabinEmbarkedSurvived咱们要构建一个依据乘客的特色预测乘客是否幸存的分类器。所以咱们只抉择几个变量作为示例: is_child (if age <12)is_class1 (if person is in the first class)is_class2is_female因为只有四个变量,所以咱们应用将应用Basis Embedding。咱们只需将经典位转换为等效量子位。比方咱们的四个变量是1010,这将被转换为|1010>。 模型咱们的模型是可参数化量子电路。这个电路必须具备肯定水平的叠加和纠缠,这样能力证实应用量子组件是正当的,咱们的模型如下: 这个模型可能看起来很简单,但他的想法相当简略。 这是一个双层电路,因为外围构造反复了 2 次。 首先,咱们为每个量子位绕 Z、Y 和 Z 轴旋转,这里的想法是别离在每个量子位上插入某种程度的叠加。 这些旋转是参数化的,并且在算法的每次交互中,这些参数将由经典计算机更新。 而后就是 Y 轴和 Z 轴上的旋转,因为量子位的矢量空间是一个球体(布洛赫球体)。 RZ 只会扭转量子比特相位,RY 会影响量子比特与 |0> 和 |1> 的靠近水平。 每对量子位之间有四个受控非 (CNOT) 状态,这是一个量子门,依据另一个量子位(别离为指标和管制)的状态反转一个量子位状态。 也就是说这个门纠缠了咱们电路中的所有量子位,当初所有状态都纠缠了。 在第二层中,咱们利用了一组新的旋转,这不仅仅是第一层的逻辑反复,因为当初所有状态都纠缠在一起,这意味着旋转第一个量子比特也会影响其余量子比特! 最初咱们有了一组新的 CNOT 门。 ...

June 13, 2023 · 2 min · jiezi

关于机器学习:大模型热潮来袭AI基础软件深度赋能金融行业数智化升级

近日,由中国金融电子化团体有限公司、南京市建邺区人民政府主办的“2023 中国金融业数字化转型倒退大会暨第十三届中国城市商业银行信息化倒退翻新座谈会”在南京隆重举办。九章云极DataCanvas公司副总裁周晓凌受邀出席会议,并发表“大模型时代的银行AI中台建设思路”的精彩演讲。 九章云极DataCanvas公司副总裁周晓凌发表演讲 本次大会以“数驱转型 智创将来”为主题,围绕金融科技倒退热点畛域及城市商业银行信息技术重点工作,探讨数字化转型与价值翻新,分享金融科技利用教训与趋势,中国人民银行领导、南京市人民政府领导、全国城市商业银行主管科技行长、金融科技领域资深专家学者等泛滥嘉宾缺席盛会。 大会上,周晓凌学生深入分析了大模型时代AI行业产生的粗浅改革,并重点分享了金融行业AI中台的建设思路。他指出,大模型正在重构行业格局,人工智能根底软件作为推动AI利用落地的AI产业基石,将理论升高大模型利用门槛,助力金融企业在大模型时代的AI中台建设。 大模型催生行业改革,“大+小”定义AI新范式 周晓凌在演讲中示意,大模型浪潮驱动AI行业产生粗浅变动,AI软件正在经验从software 转向thought-ware的要害阶段。大模型时代,AI建模流程产生重构,编程形式从原来的面向业务转向面向思维,业务人员不再须要多重角色的接力,通过了解自然语言的形式即可实现编程。同时,大模型将从利用态重塑不同行业的分工协作,传统的程序员、数据分析师等一个或者局部角色将被代替,其工作内容转向思维链、指令调优、提醒调优、以及人类反馈等。 AI软件从software 转向thought-ware 面对金融行业广泛关怀的“是否须要训练银行的根底大模型?”这一问题,周晓凌指出,生成大模型须要各种因素的分工协作,包含算力、根底软件和数据,在金融行业的赋能过程中,银行业的数据会成为模型差异化的次要力量,每家银行将都有能力领有本行的白盒根底大模型。 同时也应看到,大模型尽管以后体现优异,但也存在其局限性,例如Chat-GPT 在评级预测方面体现良好,但在程序和间接举荐工作方面体现欠佳,须要进一步摸索和改良。因而,周晓凌提出,“大模型+小模型”是目前构建人工智能的正确思路,AI根底软件作为构建模型生态的基础设施力量,将持续施展关键性的建设作用。 助力AI中台建设 AI根底软件重构产业AI Infra层能力 在经验过晚期的摸索阶段后,金融机构为突破烟囱式的能力割裂场面,在健全AI工程化的同时,须要一直加强跨平台的能力交融,AI中台的价值更加凸显。通过“AI开发、AI服务、AI资产、AI经营到业务赋能”的“4+1”策略加持,将AI中台打造成一个性能全面、灵便麻利的技术能力输入核心,助力金融行业构建对立、平安、高效、互通的AI能力体系,能力为疾速变动的业务需要提供撑持,全面赋能金融行业AI能力的建设。 作为金融行业AI基础设施的重要组成部分,AI中台个别由以下模块形成:以行内云化资源基座作为面向AI的算力和数据基座,在此基础上构建AI根底软件和AI服务能力。以业余建模平台为代表的AI根底软件集成了面向机器学习开发、深度学习预训练和微调,主动机器学习能力等,通过ModelOps对开发出的模型、算法进行治理,造成生命周期、资产标准化治理、平安治理以及流程审计。在AI服务能力环节,将自主开发的白盒模型、预训练模型、黑盒模型等公布成服务向上提供能力,能够更好的赋能业务。AI中台建设起来后,通过搭建AI的价值评估体系和构建众研生态欠缺AI中台的AI经营性能,将进一步提速AI中台的运行效率。金融行业 – AI中台的架构 “四库”技术是积淀AI资产、掂量AI中台经营效率的要害能力。通过业务场景,将算法和模型、特色数据以及AI场景的业务价值指标构建起来,积攒业务价值和场景模板,能够无效量化AI中台利用价值,促成AI能力在企业中的利用。九章云极DataCanvas助力金融企业构建大模型时代的AI中台 凭借在主动机器学习、深度学习、因果学习等畛域当先的技术劣势和丰盛的利用教训,九章云极DataCanvas公司在模型开发到模型运维的模型全生命周期治理中领有欠缺的AI根底软件工具链,并以“大+小”的模型训练新范式,升高金融行业模型利用的门槛,解决AI落地痛点。随着大模型浪潮风起,AI根底软件将成为大模型计算算力效率最次要的贡献者,推动政府和企业AI规模化利用,最终赋能千行百业。

June 12, 2023 · 1 min · jiezi

关于机器学习:有效延缓痴呆症延世大学发现梯度提升机模型能准确预测-BPSD-亚综合征

内容一览: 随着人口老龄化水平一直加剧,痴呆症曾经成为公共衰弱问题。目前医学界医治该病还只能通过药物缓解,尚未发现治愈的无效办法,因而,预防痴呆症尤为紧迫。在这一背景下,延世大学的钻研人员开发了多个预测 BPSD 的机器学习模型,并对这些模型进行了验证。试验结果表明,机器学习可能无效预测 BPSD 亚综合症。 关键词: 痴呆症   BPSD   梯度提升机 本文首发自 HyperAI 超神经微信公众平台~ 目前,寰球超 5.5 亿人患有痴呆症 (阿尔茨海默病为最常见类型),每年新发病例靠近 1000 万, 随着人口老龄化水平一直加剧,预计到 2050 年,这一数字将减少两倍。痴呆症是一种脑部疾病,会导致患者记忆力、思维和推理能力迟缓降落。该疾病次要影响老年人,是导致老年人失去自理能力的次要起因之一,在寰球最次要的死亡起因(按死亡总人数排列)中位于第七位,前三位别离是缺血性心脏病、中风及慢性阻塞性肺病。 通常,痴呆症患者除了认知障碍外,还体现出一系列行为和心理症状 (BPSD),如躁动、攻打、冷酷和抑郁等。 这些症状是痴呆症护理中最为简单、最具备挑战性的问题,它们不仅导致病人无奈独立生存,同时也给照护人员带来相当大的累赘。 近期,韩国延世大学 (Yonsei University) 的钻研人员 Eunhee Cho 等人开发了多个用于预测 BPSD 的机器学习模型,并对它们进行了验证。目前该钻研已公布在《Scientifc Reports》期刊,题目为「Machine learning‑based predictive models for the occurrence of behavioral and psychological symptoms of dementia: model development and validation」。 该研究成果已发表在《Scientific Reports》上 论文地址: https://www.nature.com/articles/s41598-023-35194-5 数据集本钻研分三次进行数据收集,共应用了 187 名痴呆症患者信息进行模型训练,另外 35 名患者信息用于内部验证。其中第二次数据收集是对第一次数据收集参与者进行的反复测量,第三次数据收集则招募了新的参与者进行测量。钻研中,第一次和第二次收集的数据用作训练集,第三次收集的数据集用于测试集。 为了对参与者进行全面的特色信息收集,钻研人员首先考察了他们的衰弱数据(年龄、性别、婚姻状况等)和发病前的性情类型(韩国五大人格量表 BFI-K), 其次应用身材流动记录仪监测夜间睡眠和流动程度,最初又采纳了一种症状日记 (symptom diary) 来记录照料者感知到的症状的触发因素 (饥饿/口渴、排尿/排便、疼痛、失眠、乐音等) 以及患者每天产生的 12 种 BPSD。此外,这些症状也被划分为 7 个亚综合症, 下图直观展现了身材流动记录仪和症状日记数据的记录状况。 ...

June 12, 2023 · 2 min · jiezi

关于机器学习:轻松调试让报错无处遁形-昇思MindSpore报错调试宝典五网络构建与训练类报错之算子执行错误

上一期解说了因为输出参数不符合要求、算子性能不反对等算子编译谬误问题该如何定位解决,那么在算子执行的时候也会遇到很多报错,比方输出数据异样、算子实现谬误、性能限度、资源限度等问题,遇到这类情景咱们失常能够采纳类比的分析方法,本期以mindspore.ops.ResizeBicubic算子外部数据没有进行定义进而导致输入异样为例来解说下如何定位问题并解决报错。具体内容请查看海报~文字内容:小孢子:你好呀,昇思MindSpore,咱们又见面了!这次通过调用mindspore.ops.ResizeBicubic算子接口调整图像大小时遇到了报错,能帮我剖析看看如何debug不?MindSpore: 当然没问题!依旧先看看你的环境信息、脚本代码与报错~小孢子:零碎环境信息:Hardware Environment(Ascend/GPU/CPU): CPU Software Environment: -- MindSpore version (source or binary): 2.0.0-alpha -- Python version (e.g., Python 3.7.5): 3.7.5 -- OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu 4.15.0-74-generic复制训练脚本(应用插值调整图像大小):01 import mindspore 02 from mindspore import Tensor 03 import mindspore.ops as ops 04 05 resize_bicubic_op = ops.ResizeBicubic(align_corners=True,half_pixel_centers=False) 06 images = Tensor(x_np) 07 size = Tensor(size, mindspore.int32) 08 output = resize_bicubic_op(images, size) 09 print(output.asnumpy())复制报错信息:    Traceback (most recent call last): ...

June 12, 2023 · 1 min · jiezi

关于机器学习:算子编译没烦恼Debug线性提升-昇思MindSpore报错调试宝典四网络构建与训练类报错之算子编译错误

上一期解说了语法错误问题,本期给大家介绍遇到算子编译谬误问题应该如何剖析和解决,当算子参数值、类型、shape不满足要求时,或者是算子性能受到限制这些都属于算子编译谬误,本期以构建ReduceSum单算子网络时输出超过该算子反对维度为例来剖析解说如何定位与调试。具体内容请看海报~文字版内容:小孢子:你好呀,昇思MindSpore,咱们又见面了!这次通过调用mindspore.ops.ResizeBicubic算子接口调整图像大小时遇到了报错,能帮我剖析看看如何debug不?MindSpore: 当然没问题!依旧先看看你的环境信息、脚本代码与报错~小孢子:零碎环境信息:Hardware Environment(Ascend/GPU/CPU): CPU Software Environment: -- MindSpore version (source or binary): 2.0.0 -- Python version (e.g., Python 3.7.5): 3.7.5 -- OS platform and distribution (e.g., Linux Ubuntu 16.04): Ubuntu 4.15.0-74-generic -- GCC/Compiler version (if compiled from source):复制训练脚本信息:01 import mindspore 02 from mindspore import Tensor 03 import mindspore.ops as ops 04 05 resize_bicubic_op = ops.ResizeBicubic(align_corners=True,half_pixel_centers=False) 06 images = Tensor(x_np) 07 size = Tensor(size, mindspore.int32) 08 output = resize_bicubic_op(images, size) ...

June 12, 2023 · 1 min · jiezi

关于机器学习:定位调试两手抓报错真的不可怕-MindSpore报错调试宝典二网络构建与训练类报错之context配置问题

上一期咱们解说了数据加载与解决类报错如何调试解决,明天给大家持续带来网络构建与训练类报错中的context配置问题,本期仍将以案例的模式开展,具体解说mindspore.set_context算子的应用办法以及配置办法,心愿大家在后续应用context算子过程中能够轻松解决相干的报错问题!同时也欢送大家多多留言,给咱们提提倡议!废话不多说,请看下图!图中援用 [1]:API文档【昇思MindSpore报错解决地图】常见报错问题和解决方案: https://www.hiascend.com/forum/thread-0229108045633055169-1-1...往期内容: 昇思MindSpore报错调试宝典(一):数据加载与解决类文字内容:小孢子:昇思MindSpore,你好呀!我在网络构建中进行模型训练的时候遇到了这样的报错,能麻烦您帮我瞅瞅是啥问题不?MindSpore: 没问题!先让我看看你的代码内容和报错信息~小孢子:代码内容是这样的:from mindspore import context context.set_context(device_target="GPU") # ③复制报错信息:RuntimeError: Unsupported device target GPU. This process only supports one of the ['CPU'].① Please check whether the GPU environment is installed and configured correctly②, and check whether current mindspore wheel package was built with "-e GPU". For details, please refer to "Device load error message".复制MindSpore:首先剖析你的报错内容,①阐明指标设施device_target并不反对GPU,而是反对CPU,②须要查看是否装置了GPU环境。而代码③‘context.set_context(device_target="GPU")’示意设置的device_target为GPU。这类问题在进行demo调试或进行模型训练时很常见。这样一来的话再给我看看你的环境设置呗~小孢子:零碎环境:Hardware Environment(Ascend/GPU/CPU): CPU Software Environment: MindSpore version (source or binary): 2.0.0 & Earlier versions Python version (e.g., Python 3.7.5): 3.7.6 ...

June 12, 2023 · 1 min · jiezi

关于机器学习:昇思-MindSpore-报错调试宝典一数据加载与处理类

置信大家在应用昇思MindSpore时,会在不同状况下遇到不同类型的报错,为了帮忙各位在遇到报错时能够自行定位-调试-解决,公布昇思MindSpore报错调试宝典系列文章,供大家学习参考!作为第一篇,咱们以数据处理类型报错开始,从Python Call Stack、Dataset Pipeline Error Message、C++ Call Stack等多个维度疾速定位问题并调试,置信大家在理解学习后都可能有所播种,当然如果有任何问题请留言征询!后续会有更多类型报错的调试宝典,敬请期待!详情请看下方长图。水果榨汁儿,我爱喝水果榨汁儿,我能够随便混搭,再配上水果寿司儿;报错调试,我要解决报错调试,我能够剖析定位,再加上调试解决就完事儿!本期用案例解说数据加载与解决类报错的解决流程,走过路过不要错过!敬请期待下一期!文字内容:某天,小孢子出门游学遇到了MindSpore,这可把好学的小孢子快乐坏了,立马头脑风暴一样抛出了很多困惑!小孢子:MindSpore,你好呀!在应用MindSpore时经常会遇到一些报错,令人头大,作为资深智能框架,能走漏小tips如何疾速找到问题并调试的呢?MindSpore: MindSpore在解决网络报错时给开发者提供了多种调试性能,咱们能够用一个简略的数据加载与解决类的问题来解说一下整个流程。这边首先自定义一个Python数据处理类,将其接入MindSpore的数据处理流水线中并获取解决后的数据。报错信息:小孢子:所以报错信息走漏了怎么的信息呢?MindSpore:快拿小笔记本记好!MindSpore2.0版本开始报错信息可是进行了全面的降级哦~如下dataset的报错信息次要分为三个局部,能够依照问题定位须要查看对应局部:①Python Call Stack,与框架用户脚本相干的报错栈信息②Dataset Pipeline Error Message,数据处理管道错误信息③C++ Call Stack,与框架开发者相干的调试报错信息。在上图的运行报错信息中,②Dataset Pipeline Error Message示意的信息为:运行python代码时呈现的异样报错,倡议查看Python代码或查看Python相干的调用栈。因而能够从①Python Call Stack抓取到的Python调用栈持续剖析:这里看到的Traceback信息是典型的Python调用栈。从调用栈一级一级调用的信息中能够看到,最初出错是调用了File: "test_api.py"中第43行的语句data = self.data[index] / self.scale,导致最初呈现了异样ZeroDivisionError,显然这是一个除零异样。小孢子:明确啦!当初咱们曾经实现了定位问题这一部分,接下来就是要调试啦~MindSpore:没错!调试环节能够在报错语句前后加一些打印值,确认除数self.scale在什么状况下会变成0,同时也能够遍历数据确认一下是生成第几条数据产生的谬误。在getitem中增加了一些打印,再次运行代码,能够看到self.scale初始值为2,每次调用一次getitem都会对self.scale – 1,所以调用2次之后,self.scale就会变为0,因而在第2次执行self.data[index] / self.scale时呈现了除零报错。为了简略解决此状况,咱们就能够在self.scale等于0的时候,额定定义该数值从而避免出现除零谬误,导致数据处理异样。最终,数据处理流程就调通啦~运行后果:小孢子:哇!也就是说,在遇到数据加载与解决的报错时,都能够依照上述操作来,首先对于报错信息进行全面剖析,而后定位问题代码,最初进行代码的调试和解决~MindSpore:Bingo,你可真是个小聪明!小孢子:明天真的受益匪浅啊!!我要好好回去钻研一翻,有问题再来跟你征询哦~MindSpore:哈哈,好的,随时探讨!

June 12, 2023 · 1 min · jiezi

关于机器学习:浅谈API安全与人工智能生态

随着人工智能技术的一直倒退,API接口平安问题也日益凸显。API接口是古代互联网服务的外围组成部分,它提供了网络应用程序之间互相通信的办法,使得不同的软件和零碎可能无缝地集成在一起,这为业务的疾速部署和实现带来了微小的便利性。然而,因为API接口开放性和易于应用的特点,同时也给黑客攻击者提供了可乘之机。攻击者能够通过歹意申请和注入攻打等伎俩,对API接口进行攻打,从而获取敏感数据或间接导致系统解体。因而,保障API接口的安全性成为了爱护企业信息安全的重要组成部分。目前,次要解决方案是智能化进攻歹意攻打,即采纳流量管制、黑名单/白名单、DDoS攻打进攻等伎俩,无效抵挡歹意攻打。除了API接口平安,人工智能生态也是以后互联网行业的热门话题。随着AI技术一直倒退,其在各行各业中的利用越来越宽泛,曾经成为将来的发展趋势之一。人工智能现已广泛应用于医疗、金融、制作、农业等多个畛域,获得了显著的成绩。同时,企业也开始将AI技术利用于本身业务中,提高效率和降低成本。 一、智能化进攻歹意攻打应用AI进行进攻歹意攻打的办法次要包含利用机器学习算法和深度学习算法对攻打进行检测、预测和进攻。升高信息传输的威逼,爱护计算机系统和网络的平安。具体来说,能够利用AI模型剖析网络流量数据、用户行为数据、应用程序行为数据等,借助机器学习算法对歹意攻打进行疾速辨认,并在零碎中采取预防措施,进步网络安全性。 1、需联合多种技术手段实现智能化的进攻API歹意攻打通常须要联合多种技术手段来实现,常见的形式如下:应用机器学习算法:利用历史攻打数据和失常申请数据进行训练,通过监测API申请的行为特色,发现潜在的攻击行为并及时阻止。限流与限度:对于频繁发送申请的IP地址或用户账号进行限度,设置拜访频率阈值,当超过设定的阈值时,暂停该IP或帐号的拜访权限,防止大流量的攻打对API造成侵害。危险评估:对于来自未知的申请,依据申请的源头、申请的类型、申请的参数等因素进行危险评估,在评估后果达到某一门限值时,触发进一步的认证和受权流程,以确保API申请的合法性。智能化的Web Application Firewall (WAF):通过对API申请进行深度检测,辨认可疑申请,拦挡并过滤掉歹意攻打申请,爱护API不受攻打的影响。举例来说,如果一个歹意攻击者正在尝试通过暴力破解API密钥或应用SQL注入攻击方式,机器学习算法和WAF技术能够监测到这些攻击行为,辨认出歹意申请,并马上采取相应的措施来爱护API的安全性。当应用机器学习算法进行API进攻时,须要首先收集并筹备好历史的攻打数据和失常申请数据。其中,失常申请数据应该涵盖尽可能多的场景和行为,以训练出更加精确的模型。所选用的机器学习算法能够是分类算法、聚类算法、异样检测算法等。一些常见的特色可用于训练机器学习模型的目标: 申请的类型(GET、POST等)申请的源头(IP地址、用户账号)申请的参数(格局、数量、长度、程序等)申请的工夫(频率、时间段等)针对每一种攻击方式,须要采纳不同的算法参数和数据预处理技术来进行训练,并依据模型的准确性和误报率之间的均衡来调整参数。训练实现后,将模型部署到API的进攻零碎中,监测API申请的行为特色,发现潜在的攻击行为并及时阻止。在进行限流与限度方面,须要先设定拜访频率阈值,比方每秒最多容许10个申请。具体步骤:对所有的API申请进行计数,包含申请的起源IP和拜访工夫;当IP地址或用户账号在单位工夫内产生超过设定阈值的申请时,将该IP或帐号退出黑名单;在肯定工夫内,拜访黑名单中的IP或帐号将不会取得API的响应。对于机器人和分布式攻打来说,应用简略的限流可能无奈齐全阻止攻打。这时候能够思考采纳更加简单的限度办法,比方要求用户进行身份验证、减少验证码等安全措施。危险评估是另一个能够用AI实现的API平安技术。在此过程中,罕用的技术包含数据挖掘、自然语言解决、神经网络等。具体步骤如下:收集并筹备好历史数据,包含所有的API申请记录,包含申请的起源、申请的参数、申请的响应、申请的行为等;创立一个蕴含所有特色的模型,通过监测这些特色,确定该API申请是否可信;通过监测申请的特色,利用统计学的办法进行剖析;在决策时,评估危险,并给出适当的反馈形式。这些通用的技术手段,要依据理论状况进行抉择和优化。2、智能化进攻API威逼注意事项将来AI在API进攻方面会越来越遍及和成熟。随着大数据和云计算技术的倒退,能够更好地反对AI算法的训练和利用,进步AI进攻零碎的准确性和鲁棒性。同时,随着歹意攻打伎俩的不断更新和变动,AI算法也须要一直地降级和迭代,以适应不同类型和模式的歹意攻打。须要留神的是,在应用AI进行进攻歹意攻打时,须要留神如下几点:保障模型训练数据的完整性和真实性。要依据数据的特色和属性,抉择适合的机器学习模型和算法进行训练,以进步模型的精度和鲁棒性。因为AI模型的准确性和有效性取决于训练数据集的品质。后期大量的数据筹备工作。要对大量的历史数据进行解决和剖析,包含失常流量和歹意攻打流量,以进步AI算法的准确性和可靠性。继续监测模型的准确性和效率。通过将AI算法集成到API的平安防护系统中,实时监测API的流量和行为,及时发现和辨认歹意攻击行为,从而进攻歹意攻打。因为网络攻击模式繁多,须要放弃AI模型的更新和优化,以进步识别率和进攻成果。确保AI模型不会被攻击者攻破或误导。因为歹意攻击者也能够利用AI技术进行攻打,因而须要保障AI模型的安全性,防止蒙受攻打。随时进行品质管制。随着AI算法的一直利用和优化,须要一直跟踪监测算法的准确率、鲁棒性和有效性,及时调整算法和模型,保障AI进攻零碎的品质和稳定性。比方:Cylance是一家利用AI技术检测和预防恶意软件攻打的平安公司。该公司利用机器学习算法剖析大量数据,以辨认和阻止潜在的威逼。Deep Instinct是一家专门提供基于深度学习技术的网络安全解决方案的公司。该公司的零碎能够在几毫秒内剖析大量数据,以辨认各种类型的恶意软件和网络攻击,并及时采取措施进行进攻。具备代表性的DeepLocker是IBM的一款基于人工智能的恶意软件攻打工具,能够通过人工智能破解指标零碎并对其进行攻打。它应用深度学习模型,以便可针对特定指标,且不会被检测到。 二、API平安赋能AI生态链API平安在保障整个AI生态系统安全、推动AI技术的倒退和利用、并帮忙各个企业跟上时代的步调等方面都施展着重要作用,应引起宽广开发者和企业的高度重视。1、API平安是AI生态链牢靠的基石API平安是保障整个AI生态系统安全的根底。在实践中,API作为接口提供了大量的数据交互和信息传递,API接口的安全漏洞或攻打危险将会间接危及到整个零碎的安全性。因而,通过施行API安全措施可能无效地爱护AI应用程序的可靠性、稳定性和安全性,防止在数据交互过程中被篡改、盗取或滥用。API security包含API key验证、数据加密和解密、避免攻打API的反爬虫技术等,这些措施可能无效地爱护API的平安,防止API被滥用、篡改或盗用。在AI生态系统中,API平安能够为整个AI应用程序带来以下劣势: 进步安全性:因为AI应用程序通常波及到大量的敏感数据,例如个人隐私、商业秘密等,因而须要采取措施爱护API不受非法拜访、篡改和其余平安威逼。API安全措施能够无效地升高这些危险。进步可靠性:通过应用API平安,能够确保API的正确应用和标准化,从而进步整个AI应用程序的可靠性和稳定性。它能够防止未经受权的批改,保障API的失常应用。简化开发过程:API安全措施能够缩短集成和开发的工夫并升高操作危险。开发者能够抉择应用通过验证的API性能,并主动集成平安性能,而无需破费太多工夫来开发平安性能。改善用户体验:通过API平安,能够缩小应用程序的解体次数和其余问题,从而进步用户体验。良好的用户体验能够吸引更多的用户并促成业务增长。AI技术在各个行业中都起着越来越重要的作用,但在利用AI技术时须要面对着一系列的平安挑战。其中API平安作为AI生态系统的关键环节之一,能够起到至关重要的作用。 2、API平安是AI生态链中不可或缺的保障随着AI技术和应用程序的一直倒退,API平安曾经成为了AI生态链中的一个热门话题。越来越多的企业和组织开始器重API平安,并施行相应的安全措施。市场上曾经呈现了许多API平安产品和服务提供商,例如API管理软件、API网关、API平安测试工具等。这些产品和服务帮忙用户爱护API平安,并优化API的性能和可靠性。API平安是AI生态链中不可或缺的一环,它赋能了AI零碎和应用程序之间的平安通信和数据交换,爱护了用户的个人隐私和敏感数据,并避免了黑客攻击和恶意软件。API平安赋能AI生态链的步骤: 采取安全措施爱护API的机密性、完整性和可用性。这包含应用SSL/TLS协定进行加密、利用API密钥治理、应用数字签名等。管制API拜访的权限,例如基于角色的访问控制、应用OAuth认证等。这样能够确保只有通过受权的用户和应用程序能力拜访API。监测和剖析API应用状况以及应用程序之间的通信状况。通过实时监测,能够及时发现并阻止黑客攻击和歹意行为。开发人员和API用户进行培训和教育,使他们理解API平安的重要性,并把握开发和应用API的最佳实际。在AI生态链中,API扮演着将人工智能应用程序与其余服务进行集成的角色。然而,在数据交换的过程中往往波及到大量的用户信息,如姓名、邮箱、手机号等敏感数据。这时候,API的安全性就显得尤为重要了,只有确保API在数据传输的过程中具备足够的安全性,能力防止用户数据蒙受不法分子的攻打和窃取。API平安还能够无效预防黑客攻击。因为API是用于多个软件或服务间的交互,所以平安问题一旦呈现,可能会影响所有援用该API的应用程序。如果API自身存在破绽或安全隐患,黑客能够利用这些破绽来对其他软件或服务进行攻打,甚至间接入侵到客户的计算机系统中,造成严重危害。因而,API的安全性一旦被攻破,就会导致整个生态链的安全性受到威逼。API的安全性也波及到知识产权的爱护。人工智能技术蕴含了大量的人才智慧,企业在开发和利用人工智能技术的同时,可能会波及到一些私密的商业信息,如算法细节、数据处理流程等。这些信息是企业的外围竞争力,如果被泄露到竞争对手手中,就会导致企业严重损失。API平安对于推动AI技术的倒退和利用具备极大的促进作用。现在,AI技术已广泛应用于企业的商业经营、医疗诊断、娱乐体验等畛域,并帮忙企业实现了更高效、更精准和更创造性的工作形式。而在这个背景下,API平安的重要性就显得尤为突出。在保障API平安的同时,AI技术能力在更加平安和牢靠的根底上实现更为简单和多样化的利用,从而推动AI技术的倒退和利用一直向前。 3、API平安和人工智能相倚为强人工智能技术利用十分宽泛,从计算机视觉到自然语言解决,不同畛域的利用都须要API提供对立的接口。例如,一个智能客服零碎须要通过API获取用户输出并输入相干答案,一个智能风控系统须要通过API获取大量数据并进行剖析。API作为连贯不同局部的桥梁,为人工智能提供了必要的反对。目前从市场来看,因为人工智能技术的复杂性和不确定性,开发、测试和部署人工智能模型通常须要应用很多API,并将它们组合成简单的零碎。API的安全性和稳定性,对于保障整个人工智能零碎的稳固运行至关重要。如果API产生问题,将会影响整个人工智能零碎,导致系统解体或无奈失常工作。AI在很多场景下的利用须要获取用户敏感信息,并对这些信息进行解决,如果这些API的安全性得不到无效保障,就会使得用户合法权益受到侵害。同时API的平安还会受到主动攻击和黑客攻击的威逼,进一步影响人工智能利用的可靠性。因而,保障API的安全性能够晋升人工智能利用的稳定性和牢靠度。API平安作为AI生态链的关键环节,在保障用户数据安全、避免黑客攻击、爱护知识产权等方面施展着至关重要的作用。只有不断加强API平安的保障,能力确保整个AI生态链的稳固运行和长期倒退。总体来说,API平安是一种创新性的解决方案,能够帮忙各个企业跟上时代的步调。在现在数据泄露、网络攻击等威逼日益减少的状况下,爱护API平安曾经成为不可或缺的一部分。对于开发者而言,应用API安全措施可能疾速搭建支流的API管理系统,进步零碎的安全性和可靠性,从而在市场竞争中占据先机。 三、小结人工智能技术通常须要通过API接口实现数据传输和交互,而若API接口不够平安,就有可能导致人工智能利用被黑客攻击或数据泄露等平安问题。因而,在人工智能生态中保障API接口的平安具备重要意义。将来,随着人工智能技术的一直遍及和倒退,API接口将会更加宽泛地利用于人工智能畛域中。同时,因为人工智能技术的高度自动化和高效性,使得API接口的平安变得更加重要。因而, API接口平安将会成为人工智能生态中不可或缺的一部分。人工智能技术还将给人们带来微小的生存变动。例如,在医疗畛域,人工智能技术能够帮忙医生更精确地诊断疾病;在交通运输畛域,人工智能技术能够实现主动驾驶;在金融畛域,人工智能技术能够预测市场走向。同时,人工智能技术的倒退还能够极大地提高人们的生存品质。例如,能够通过语音辨认技术实现智能家居,使得人们能够更不便地管制家中各种设施;通过人工智能在教育领域的利用,能够为学生提供更加个性化和优质的教育资源。

June 12, 2023 · 1 min · jiezi

关于机器学习:xai还是OpenAI埃隆马斯克的AI帝国2

上期内容咱们提到了埃隆马斯克的特斯拉是主动驾驶畛域的领导者,大家可能近些年也都有从各类渠道听到过Tesla主动驾驶无关的新闻。不同于像包含Google子公司Waymo在内的大多数应用激光雷达来实现主动驾驶的公司,特斯拉采纳的是只须要视频输出就能了解汽车周围环境,并实现主动驾驶的办法。在2021年的计算机视觉和模式识别会议CVPR 2021的主动驾驶研讨会,特斯拉首席人工智能科学家Andrej Karpathy具体介绍了特斯拉的这套基于深度学习的主动驾驶零碎。 神经网络算法,如deep neural networks等,是主动驾驶畛域的次要技术,然而深度学习在检测图像中的物体时也会出错。拥护纯计算机视觉办法的次要论点是,神经网络是否能够在没有激光雷达深度图帮忙的状况下进行测距和深度预计存在不确定性。为了解决现有深度学习框架辨认图像不够精确的问题,特斯拉找到的第一剂灵丹妙药是他们蕴含数百万视频的、而且通过精心标注的宏大数据集。 为了更高效的解决和标注数据,特斯拉开发了一套具备奇妙分工的半自动数据标记零碎,其中神经网络执行重复性工作,该技术波及神经网络、雷达数据和人工审查的组合,而人类负责高级认知问题和极其状况。特斯拉在寰球销售了数百万辆装备摄像头的汽车,在收集训练汽车计算机视觉深度学习模型所需的数据方面处于统治性位置。特斯拉主动驾驶团队积攒了1.5 PB的数据,其中包含一百万个10秒视频和60亿个带有边界框、深度和速度正文的对象。 上面这段视频展现了在远距离、灰尘、或者是雨雪天气中物体都能被统一的检测到的成果,就是图中的那个粉色方块。 特斯拉构建的基于RNN的深度学习模型是一套非常复杂的多层神经网络系统,它通过大略这么几个步骤来实现了利用装置在汽车四周的八个摄像头的主动驾驶。首先是须要可能解决摄像头采集到的图片,比方从中辨认出汽车、行人、交通灯等。而后,来自多个摄像头的图像须要可能被拼接在一起,造成这样的向量空间Vector Space,就是事实世界的一个3D投影。这段录像就展现了在缝合到一起的影像中检测机动车道的成果,外面的蓝线就是不同摄像头采集到的图片的分界线。第三,有了这些解决好的数据之后,就要对它们进行特色解决,这里除了视频之外正当还要引入汽车的速度、加速度、所处的空间地位、工夫等因素。最终,这些解决好的特色会被输出基于RNN的深度学习神经网络里,RNN会及时跟踪任何工夫点产生的事件,并有能力选择性地读取和解决这些数据,当汽车在行驶时,它只会高效的更新汽车左近和汽车能见范畴内的局部。这里对于算法的细节省略了一万句,有趣味的小伙伴能够在公众号后盾留言获取具体的援用材料。 图 5. 相机连贯到 3D 向量空间(来自Tesla AI Day)图 6. 缝合到 3D 空间中的车道检测(来自Tesla AI Day)图 11. 空间 RNN(来自Tesla AI Day) 简略总结回顾一下就是,首先进行单个视频的采集和解决,而后缝合多个摄像头采集的图像,之后进行特色解决,最初通过RNN实现最终的解决。尽管特斯拉在这个畛域获得了不小的冲破,但以后业界失去的深度学习模型仍然有它的局限,比如说它很难进行逻辑推理,也就是触类旁通,解决训练数据集中齐全没有呈现过的新状况的能力有余。 这是一段由人工智能加工整顿的内容,怕学AI太难,那咱们就先和AI玩起来。聊完特斯拉,下期内容咱们再来聊聊SpaceX。再见。 可交互的可视化机器学习开源教程 - https://github.com/ocademy-ai/machine-learning

June 11, 2023 · 1 min · jiezi

关于机器学习:xai还是OpenAI埃隆马斯克的AI帝国1

大家可能晓得,在上个月底埃隆·马斯克与1000多名来自各个行业的专家一起联名签订了“Future of Life Institute”发动的一个请愿书,呐喊全社会暂停至多6个月的高级人工智能技术开发,目前该请愿书曾经取得了超过26000个签名。 但这事儿还没过来几天,就又有对于埃隆·马斯克的大新闻传进去,在曾经领有了PayPal、SpaceX特斯拉和Neuralink这些公司后,他还不满足,当初又要开办一家新企业了,叫做X.AI。这个名字怎么这么特地呢?其实相熟埃隆·马斯克的人就会晓得他对X情有独钟,它不仅是马斯克和风行歌星Grimes的孩子的名字,还是Twitter公司的缩写,还有SpaceX,Tesla Model X等等。 X.AI在美国内华达州成立,马斯克负责这家公司的惟一董事,而Neuralink的CEO贾里德·伯查尔则负责这家公司秘书。那么这家新公司到底要专一于什么业务呢?据Insider报道,来自Google姊妹公司Deepmind的硅谷AI高级钻研工程师Igor Babuschkin曾经被招聘负责X.AI的工作。还有另一位X.AI的要害员工是也来自Deepmind的工程师Manuel Kroiss,他之前在Deepmind曾参加独特撰写了一篇机器学习畛域的重要论文。这些信息意味着X.AI可能要集中精力于开发大型语言模型,而且据说这个产品叫做TrueGPT,而马斯克甚至打算应用Twitter数据来训练这个大语言模型。 为了反对这个打算,马斯克曾经买了成几千枚GPU!上周英国广播公司的Twitter Spaces流动上,有超过300万人加入,提到这件事的时候,马斯克既没说它与X.AI无关,但也没有否定。他答复说特斯拉和Twitter也会购买GPU,就跟其余公司一样,他还已经说过这年头差不多每个人、甚至是他们的狗当初都在买GPU。尽管这些信息都不能确切证实X.AI得存在,但都暗示着马斯克正在为这个新公司做一些筹备。 咱们还不晓得X.AI是否实现马斯克的这个雄心壮志啊,但在他这十分相熟的说一套做一套的剧情里,我是曾经闻到了一股浓浓的韭菜味儿,大家都是晓得在这个寰球经济萧条的大背景下,国内外目前对于人工智能的话题有多火。噶韭菜的人并不一定总是能噶失去韭菜,然而他们相对不会错过任何一次噶韭菜的机会。 当然,这早不是马斯克与人工智能的第一次碰撞了,比方特斯拉就是主动驾驶这一人工智能畛域里最次要的领导者之一。下一期内容,咱们就给大家介绍一下马斯克的特斯拉是如何利用人工智能实现仅仅利用8个车载摄像头就能实现主动驾驶的。 这是一段由人工智能加工整顿的内容,怕学AI太难,那咱们就先和AI玩起来。再见。 可交互的可视化机器学习开源教程 - https://github.com/ocademy-ai/machine-learning

June 11, 2023 · 1 min · jiezi

关于机器学习:业余开源项目训练出最准确新冠预测机器学习模型

什么样的机器学习我的项目会被美国疾控中心CDC、纽约时报、经济学人杂志等多家机构和媒体所援用提及,还被Facebook的Chief AI Executor称为最精确的新冠死亡预测模型?这就是明天要给大家分享的covid-projection——一个来自一名一般美国华侨数据科学家的的业余开源机器学习我的项目。 covid-projection的作者Gu Yougang在中国出世,儿时随父母移民美国,2015年才从MIT毕业。他本科获得了电气工程与计算机科学业余和数学业余的双学位,硕士则在MIT人工智能实验室的自然语言解决组实现了他的毕业论文。他在疫情期间萌发了对于新冠疫情预测的趣味,于是在业余时间联合本人的业余所长发动了这个开源我的项目。在2020年四月到2021年3月的短短一年工夫里,该我的项目实现了对全美五十个州以及寰球70个国家的新冠疫情预测,其模型精确度甚至超过华盛顿大学衰弱指标与评估研究所(Institute for Health Metrics and Evaluation)这样业余科研机构的相干工作,因而受到了美国及寰球近百家媒体和机构的关注及报道。 covid-projection构建模型的办法十分奢侈,首先它实现了一个基于SEIR传染病模型的模拟器,而后引入机器学习算法及约翰霍普金斯大学等医疗机构公布的新冠历史数据来对其进行优化。优化的过程与机器学习中的hyperparameter tuning十分类似,是利用机器学习或搜索算法来自主的抉择模拟器的参数组合,而后将这些参数代入模拟器产生肯定工夫内的模仿数据。再通过将模仿数据与实在的历史数据进行比拟,就能够确定下一次迭代的参数组合调优方向。通过多轮的训练,最初失去的SEIR模拟器就能够被用来产生将来一段时间内的新冠趋势模仿数据,以此实现预测的目标。 SEIR是传染病的根本数学模型之一。S取自Susceptible,指的是还没有阳过的易感人群;E取自Exposed,就是咱们常说的密接、次密接人群;I取自Infectious,指新冠感染者;最初的R取自 Recovered,即阳过的康复者。经验过新冠疫情的咱们对于这些流行病学术语肯定不会生疏,SEIR也其实就是用来形容这四类人群相互之间转换的门路和概率的数学模型。covid-projection的模拟器就是这一模型的计算机程序实现。 当我第一次看到covid-projection这个我的项目的时候,真的是感觉眼前一亮,有被惊艳到的感觉。新冠是一场影响到全人类、波及到全世界的大型传染病,他对人类文化过程的影响可能不会亚于中世纪的黑死病。在咱们的印象中,新冠这样的大型公共卫生事件所波及的钻研工作,仿佛只可能由国家或者大型的科研机构来主导。但covid-projection的作者却既不是资深的学者,也不是行业的大牛,只是一位充满热情和公益精力的年老数据科学家。 技术在扭转和影响咱们当下生存的过程中的确扮演着重要的角色,但同样重要的还有在生活中发现真正问题的能力,这是我本人在过来的学生生涯中十分缺失的一点,这也正是我从covid-projection的作者身上看到的闪光之处。即便它所解决的问题随着疫情的完结而不再那么重要,即便这个我的项目在GitHub上最终仅仅播种了300多个赞叹,但它同OpenAI这样的大型出名我的项目体现了一样的翻新精力,从某些角度来说甚至更加的难能可贵。 牛顿在1664年回乡规避席卷欧洲的第二次鼠疫大风行,其在苹果树下的思考发现了万有无力定律。covid-projection的作者Gu Yougang在2020年的新冠大风行中与医学结缘,现在还在世界卫生组织负责着征询参谋的意愿工作。置信咱们每个人都可能在每一天里找到那个利用本人的专业知识扭转本人人生轨迹的契机。 可交互的可视化机器学习开源教程 - https://github.com/ocademy-ai/machine-learning

June 10, 2023 · 1 min · jiezi

关于机器学习:机器学习平台PAI支持抢占型实例模型服务最高降本90

在AI开发及服务一直谋求效率的背景下,阿里云机器学习平台 PAI 发表反对抢占型实例(Spot Instance)。在模型推理环节,用户能够通过 PAI-EAS 模型在线服务平台灵便抉择抢占型实例来运行推理时延绝对不敏感的工作,进而节俭服务老本,等同机型的抢占型实例与按量付费实例相比,最高可实现90%的老本优化。 什么是抢占型实例抢占型实例(Spot Instance)是计算资源的一种购买形式。与传统的包年包月实例、按量付费实例不同,抢占型实例的售价追随市场需求与库存的供需关系实时浮动。PAI-EAS 抢占型实例基于公共资源组内闲暇的计算资源提供服务,能够为用户提供高价资源,价格最低可至按量付费实例的10%。各类实例购买形式的单价比拟为:• 无爱护抢占型实例 < 有爱护抢占型实例 < 预付费实例 < 按量付费实例用户在应用 PAI-EAS 抢占型实例前,首先须要设置出价下限,并选定是否设置1小时保护期。当胜利部署服务时,PAI-EAS 会主动竞价抢占相应资源。残缺内容请点击下方链接查看: https://developer.aliyun.com/article/1215898%20?utm_content=g... 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

June 9, 2023 · 1 min · jiezi

关于机器学习:谷歌发布一个免费的生成式人工智能课程

在过来几周,咱们看到的都是AI将如何扭转生存,无论是ChatGPT的文本生成,还是SD,Midjourney 的图像生成,这些AI的特点就是都是生成式的AI。而几天前,谷歌推出了一个生成式人工智能学习课程,课程涵盖了生成式人工智能入门、大型语言模型、图像生成等主题。 除了课程外,还有一套实验室和实现后的收费认证。这些课程没有任何先决条件并且是收费的,所以即便是那些没有编程常识的人也能够学习这些课程。 指标人群官网说任何有趣味学习生成式AI产品,大型语言模型以及如何部署生成式AI解决方案的人都能够加入本课程。 我大略看了一下,大概有5门课程须要一些Python和机器学习的常识,剩下的没有特殊要求。而后就是实现课程后,将取得一个丑陋的徽章,就像上面这个一样。 课程内容次要是生成式人工智能产品和技术的内容精选。 上面的5门课程没有任何先决条件,差不多都是以概念和硬广: Introduction to Generative AI:解释生成式人工智能是什么,如何应用,以及它与传统机器学习办法的区别。Introduction to Large Language Models (LLMs):解释llm是什么,用例和prompt。Introduction to Responsible AI:解释什么是Responsible AI,以及谷歌如何在其产品中实现Introduction to Generative AI Studio:谷歌产品的介绍(硬广)剩下的就是咱们说的须要Python编程、机器学习和深度学习的常识。 Introduction to Image Generation:介绍扩散模型背地的实践,以及如何在Vertex AI上训练和部署它们。Encoder-Decoder Architecture:解释编码器-解码器架构的次要组件以及如何训练和提供服务。Attention Mechanism:注意力是如何工作的,以及它如何进步不同机器学习工作的性能,如翻译、摘要和问题答复。Transformer Models and BERT Model:Transformer 构造的次要组件,以及如何应用它来构建BERT模型。Create Image Captioning Models:教你如何应用深度学习创立图像形容模型(图像转文字)如何退出?只有用的谷歌账户登录,而后依照步骤操作: 这样就能够了。 最初课程的地址在这里: https://avoid.overfit.cn/post/26f8a12a38ac413997c5c9af3ce29551

June 9, 2023 · 1 min · jiezi

关于机器学习:FATE联邦学习FATE-自定义Trainer

背景本人定义了模型后,须要自行定义训练形式。 这里文档给了办法,然而大部分还是须要本人看源码摸索。 https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tutorial/Homo-NN-Customize-Trainer/https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tutorial/Homo-NN-Trainer-Interfaces/文档写的也有疏漏哈哈,最初我还是本人找到了,就是下面2个链接: 我的做法在federatedml.nn.homo.trainer外面退出本人的trainer。我本人间接复制了原先的FedAvgTrainer的代码,而后改掉了train的代码成本人代码了。 有几个留神的点Fateboard中打印loss:找callback_loss,参照FedAvgTrainer的代码加上就行,loss曾经在base类里实现了,你也参考call back loss的代码能够间接新写个指标。 我碰到的坑是:必须float+cpu()一下、或者用item()取值才行,即使是我的torch版本是反对cuda的,不然报错。我的写法是self.callback(float(my_loss.cpu().detach()), idx),然而我打印了FedAvg的loss他自身是numpy类型的,然而我间接numpy()就不行。不晓得怎么回事。 self.callback(my_loss.cpu().detach().numpy(), idx),不报错,然而Fateboard加载不进去self.callback(my_loss, idx),报错,说cuda available是False,我真醉了 FedAvgTrainer中federation process是与是否收敛convergence相干的,退出那段代码能有疾速完结训练的成果(达到收敛规范可立刻完结,跟early stopping差不多)。

June 8, 2023 · 1 min · jiezi

关于机器学习:深度学习应用篇计算机视觉图像分类2LeNetAlexNetVGG模型结构实现模型特点详细介绍

深度学习利用篇-计算机视觉-图像分类[2]:LeNet、AlexNet、VGG、GoogleNet、DarkNet模型构造、实现、模型特点具体介绍1.LeNet(1998)LeNet是最早的卷积神经网络之一[1],其被提出用于辨认手写数字和机器印刷字符。1998年,Yann LeCun第一次将LeNet卷积神经网络应用到图像分类上,在手写数字辨认工作中获得了巨大成功。算法中论述了图像中像素特色之间的相关性可能由参数共享的卷积操作所提取,同时应用卷积、下采样(池化)和非线性映射这样的组合构造,是以后风行的大多数深度图像识别网络的根底。 1.1 LeNet模型构造LeNet通过间断应用卷积和池化层的组合提取图像特色,其架构如 图1 所示,这里展现的是用于MNIST手写体数字辨认工作中的LeNet-5模型: 第一模块:蕴含5×5的6通道卷积和2×2的池化。卷积提取图像中蕴含的特色模式(激活函数应用Sigmoid),图像尺寸从28减小到24。通过池化层能够升高输入特色图对空间地位的敏感性,图像尺寸减到12。第二模块:和第一模块尺寸雷同,通道数由6减少为16。卷积操作使图像尺寸减小到8,通过池化后变成4。第三模块:蕴含4×4的120通道卷积。卷积之后的图像尺寸减小到1,然而通道数减少为120。将通过第3次卷积提取到的特色图输出到全连贯层。第一个全连贯层的输入神经元的个数是64,第二个全连贯层的输入神经元个数是分类标签的类别数,对于手写数字辨认的类别数是10。而后应用Softmax激活函数即可计算出每个类别的预测概率。提醒: 卷积层的输入特色图如何当作全连贯层的输出应用呢? 卷积层的输入数据格式是$[N, C, H, W]$,在输出全连贯层的时候,会主动将数据拉平, 也就是对每个样本,主动将其转化为长度为$K$的向量, 其中$K = C \times H \times W$,一个mini-batch的数据维度变成了$N\times K$的二维向量。 1.2 LeNet模型实现LeNet网络的实现代码如下: #导入须要的包import paddleimport numpy as npfrom paddle.nn import Conv2D, MaxPool2D, Linear##组网import paddle.nn.functional as F#定义 LeNet 网络结构class LeNet(paddle.nn.Layer): def __init__(self, num_classes=1): super(LeNet, self).__init__() # 创立卷积和池化层 # 创立第1个卷积层 self.conv1 = Conv2D(in_channels=1, out_channels=6, kernel_size=5) self.max_pool1 = MaxPool2D(kernel_size=2, stride=2) # 尺寸的逻辑:池化层未扭转通道数;以后通道数为6 # 创立第2个卷积层 self.conv2 = Conv2D(in_channels=6, out_channels=16, kernel_size=5) self.max_pool2 = MaxPool2D(kernel_size=2, stride=2) # 创立第3个卷积层 self.conv3 = Conv2D(in_channels=16, out_channels=120, kernel_size=4) # 尺寸的逻辑:输出层将数据拉平[B,C,H,W] -> [B,C*H*W] # 输出size是[28,28],通过三次卷积和两次池化之后,C*H*W等于120 self.fc1 = Linear(in_features=120, out_features=64) # 创立全连贯层,第一个全连贯层的输入神经元个数为64, 第二个全连贯层输入神经元个数为分类标签的类别数 self.fc2 = Linear(in_features=64, out_features=num_classes) #网络的前向计算过程 def forward(self, x): x = self.conv1(x) # 每个卷积层应用Sigmoid激活函数,前面跟着一个2x2的池化 x = F.sigmoid(x) x = self.max_pool1(x) x = F.sigmoid(x) x = self.conv2(x) x = self.max_pool2(x) x = self.conv3(x) #尺寸的逻辑:输出层将数据拉平[B,C,H,W] -> [B,C*H*W] x = paddle.reshape(x, [x.shape[0], -1]) x = self.fc1(x) x = F.sigmoid(x) x = self.fc2(x) return x1.3 LeNet模型特点卷积网络应用一个3层的序列组合:卷积、下采样(池化)、非线性映射(LeNet-5最重要的个性,奠定了目前深层卷积网络的根底);应用卷积提取空间特色;应用映射的空间均值进行下采样;应用$tanh$或$sigmoid$进行非线性映射;多层神经网络(MLP)作为最终的分类器;层间的稠密连贯矩阵以防止微小的计算开销。1.4 LeNet模型指标LeNet-5在MNIST手写数字辨认工作上进行了模型训练与测试,论文中提供的模型指标如 图2 所示。应用 distortions 办法解决后,error rate可能达到0.8%。 ...

June 7, 2023 · 9 min · jiezi

关于机器学习:阿里云-OpenSearch-重磅推出-LLM-问答式搜索产品助力企业高效构建对话式搜索服务

1.企业专属问答搜寻1.1. 世界常识 vs 企业专属常识ChatGPT、通义千问正在引领搜寻技术改革,其体现出的“什么都懂,什么都能聊”要害是依赖于底座大语言模型(Large Language Model, LLM)中压缩的世界常识。但无论是多弱小的LLM,能压缩的常识量依然是无限的。 下图中的问题是对于阿里巴巴外部的技术产品,属于企业专属常识,就算是弱小的ChatGPT模型给出的答案也是齐全谬误不相干的。 针对这个问题,OpenAI提出了chatgpt-retrieval-plugin、WebGPT,开源社区提出了DocsGPT、ChatPDF、基于langchain的检索加强chatbot等等一系列解决方案,足以证实业界对如何在集体/企业专属数据上联合LLM需要强烈。 1.2. LLM的检索加强式能力OpenSearch团队联合多年搜寻实践经验,提出LLM检索加强式能力,为用户提供一站式SaaS化行业问答搜寻解决方案。 对于用户输出Query,如果联合业务数据中检索到的后果一起输出给LLM,则能够失去更精准的答复。 如下所示: Query:阿里的TPP平台是什么 在企业外部文档中检索到的后果如下: TPP是阿里个性化算法开发平台,依靠阿里AI·OS引擎(特色、召回、打分等引擎)为泛滥的个性化业务(搜寻、举荐、广告等)提供Serverless化的在线服务能力。用户在TPP平台上编写业务代码,做AB试验并对外提供服务,而无需关怀机器资源、利用部署构造,不需编写服务框架。在TPP产品页面可治理业务代码的全生命周期,包含编译,调试、公布上线、监控报警、问题排查。联合AI·OS引擎套件接口和高性能图化开发框架,用户只须要实现本人的业务逻辑,即可领有稳固、高性能的个性化在线服务。将检索后果作为prompt输出模型后,模型给出了更加精准简练的答复: 对于LLM的检索加强式能力,有以下两点须要特地留神衡量: 有效性:生成的后果是基于检索后果中与Query最相干的局部总结。无害性:生成的后果不应该是脱离检索后果随便假造,谬误的信息反而会误导用户。OpenSearch智能问答版在这一场景下对大模型事后进行了finetune,并针对性的调整了模型参数和prompt格局,尽可能的保障问答后果的精准牢靠。 2.技术实现2.1. 零碎架构 OpenSearch智能问答版零碎架构次要蕴含业务数据处理、大模型预训练、问答搜寻在线服务三个局部。 2.1.1. 业务数据处理相比传统的搜索引擎,OpenSearch智能问答版离线数据处理流程最大的变动点在于对业务数据的解决: 传统搜索引擎的数据源是结构化文本,而这里须要解决的往往是非结构化文本,并且数据的格局会更加多样(HTML、Markdown、纯文本、PDF等)传统搜索引擎构建索引是基于文档的惟一主键,而这里因为数据源的差别,须要先对文档进行段落拆分,对拆分后的段落生成新的段落主键传统搜索引擎基于文本索引进行内容匹配,而这里采纳向量索引,更加容易适配丰盛的数据格式和长文本搜寻 2.1.2. 在线服务相比传统的搜索引擎,OpenSearch智能问答版在线服务架构变动十分大,次要区别有: 传统搜寻返回的后果数个别在10以上,还常常会有翻页查问,而这里的检索是为了找到最相干的段落内容,Top N中的N不宜过大(个别在3以内),且须要管制相关性,不召回相关性过低的段落带来误导检索实现失去Top N搜寻后果后,会将后果增加到prompt中输出大模型,这一阶段耗时个别较大,OpenSearch智能问答版反对流式输入以缓解等待时间过长的体验问题返回后果时,会基于用户业务数据,通过API输入指定Query下的相干搜寻后果和模型生成的问答后果 2.2. 检索加强2.2.1. 段落拆分模型:ops-text-ace-001“巧妇难为无米之炊”,在检索加强式LLM的架构下,模型最终生成的成果很大水平上是由prompt中给出的检索后果决定的。 传统文档检索系统只须要针对Query给出最相干的文档列表,具体的信息筛选总结交由用户本人实现。 检索加强式LLM则须要给出具体与Query相干的段落,并且这里的段落不宜呈现语义信息缺失或者输出超长,最好能够蕴含一段残缺的语义信息。 衡量效率与成果,OpenSearch智能问答版的段落拆分模型特点如下: 最终的拆分成果能够参考上面的例子: 名词解释<a name="ucuiH"></a>## 实例治理| **名称** | **阐明** || --- | --- || 实例 | 实例是用户的一套数据配置,包含数据源构造、索引构造及其它属性配置。一个实例即一个搜寻服务。 || 文档 | 文档是可搜寻的结构化数据单元。文档蕴含一个或多个字段,但必须有主键字段,OpenSearch通过主键值来确定惟一的文档。主键反复则文档会被笼罩。 || 字段 | 字段是文档的组成单元,蕴含字段名称和字段内容。 || 插件 | 为了在导入过程中进行一些数据处理,零碎内置了若干数据处理插件,能够在定义利用构造或者配置数据源时抉择。 || 源数据 | 原始数据,蕴含一个或多个源字段。 || 源字段 | 组成源数据的最小单元,蕴含字段名称和字段值,可选数据类型请参见[利用构造&索引构造]。 || 索引 | 索引是用于减速检索速度的数据结构,一个实例能够创立多个索引。 || 组合索引 | 可将多个TEXT或SHORT_TEXT文本类型的字段配置到同一个索引,用来做组合索引。如一个论坛搜寻,须要提供基于题目(title)的搜寻及基于题目(title)和内容(body)的综合搜寻,那么能够将title建设title_search索引,将title和body建设default组合索引。那么,在title_search上查问即可实现基于题目的搜寻,在default上查问即可实现基于题目和内容的综合搜寻。 || 索引字段 | 在[query子句]中应用,须要定义索引字段,通过索引字段来做高性能的检索召回。 || 属性字段 | 在[filter]、[sort]、[aggregate]、[distinct]子句应用,用来实现过滤、统计等性能。 || 默认展现字段 | 用来做后果展现。能够通过API参数fetch_fields来管制每次后果的返回字段,需注意在程序中配置fetch_fields该参数后会笼罩默认展现字段配置,以程序中的fetch_fields设置为主;若程序中不设置fetch_fields参数则以默认展现字段为主。 || 分词 | 对文档进行词组切分,TEXT类型按检索单元切分,SHORT_TEXT按单字切分。如“浙江大学”,TEXT类型会切分成2个词组:“浙江”、“大学”。SHORT_TEXT会切分成4个词组:“浙”、“江”、“大”、“学”。 || term | 分词后的词组称为term。 || 构建索引 | 分词后会进行索引构建,以便依据查问申请,疾速定位到文档。搜索引擎会构建出两种类型的链表:倒排和正排链表。 || 倒排 | 词组到文档的对应关系组成的链表,query子句采纳这种排序形式进行查问。例如:term1->doc1,doc2,doc3;term2->doc1,doc2。 || 正排 | 文档到字段对应关系组成的链表,filter子句采纳这种排序形式,性能略慢于倒排。例如:doc1->id,type,create_time。 || 召回 | 通过查问的关键词进行分词,将分词后的词组通过查找倒排链表疾速定位到文档。 || 召回量 | 召回失去的文档数为召回量。 |<a name="aLREa"></a>## 数据同步| **名称** | **阐明** || --- | --- || 数据源 | 数据起源,目前反对阿里云RDS、MaxCompute、PolarDB的数据同步。 || 索引重建 | 从新构建索引。在配置/批改利用构造、数据源后须要索引重建。 |<a name="wuTSI"></a>## 配额治理| **名称** | **阐明** || --- | --- || 文档容量 | 实例中各个表的总文档大小累加值(不思考字段名,字段内容依照string来计算容量)。 || QPS | 每秒查问申请数。 || LCU | LCU(逻辑计算单元)是**掂量搜寻计算能力的单位**,一个LCU代表搜寻集群中1/100个核的计算能力。 |{"text": "实例治理:名称:实例,阐明:实例是用户的一套数据配置,包含数据源构造、索引构造及其它属性配置。一个实例即一个搜寻服务。|名称:文档,阐明:文档是可搜寻的结构化数据单元。文档蕴含一个或多个字段,但必须有主键字段,OpenSearch通过主键值来确定惟一的文档。主键反复则文档会被笼罩。|名称:字段,阐明:字段是文档的组成单元,蕴含字段名称和字段内容。|名称:插件,阐明:为了在导入过程中进行一些数据处理,零碎内置了若干数据处理插件,能够在定义利用构造或者配置数据源时抉择。|名称:源数据,阐明:原始数据,蕴含一个或多个源字段。|名称:源字段,阐明:组成源数据的最小单元,蕴含字段名称和字段值,可选数据类型请参见利用构造&索引构造。|名称:索引,阐明:索引是用于减速检索速度的数据结构,一个实例能够创立多个索引。|名称:组合索引,阐明:可将多个TEXT或SHORT_TEXT文本类型的字段配置到同一个索引,用来做组合索引。如一个论坛搜寻,须要提供基于题目(title)的搜寻及基于题目(title)和内容(body)的综合搜寻,那么能够将title建设title_search索引,将title和body建设default组合索引。那么,在title_search上查问即可实现基于题目的搜寻,在default上查问即可实现基于题目和内容的综合搜寻。|名称:索引字段,阐明:在query子句中应用,须要定义索引字段,通过索引字段来做高性能的检索召回。|名称:属性字段,阐明:在filter、sort、aggregate、distinct子句应用,用来实现过滤、统计等性能。|名称:默认展现字段,阐明:用来做后果展现。能够通过API参数fetch_fields来管制每次后果的返回字段,需注意在程序中配置fetch_fields该参数后会笼罩默认展现字段配置,以程序中的fetch_fields设置为主;若程序中不设置fetch_fields参数则以默认展现字段为主。", "index": 1, "source": {"title": "名词解释", "url": "url"}}{"text": "实例治理:名称:分词,阐明:对文档进行词组切分,TEXT类型按检索单元切分,SHORT_TEXT按单字切分。如“浙江大学”,TEXT类型会切分成2个词组:“浙江”、“大学”SHORT_TEXT会切分成4个词组:“浙”、“江”、“大”、“学”。|名称:term,阐明:分词后的词组称为term。|名称:构建索引,阐明:分词后会进行索引构建,以便依据查问申请,疾速定位到文档。搜索引擎会构建出两种类型的链表:倒排和正排链表。|名称:倒排,阐明:词组到文档的对应关系组成的链表,query子句采纳这种排序形式进行查问。例如:term1->doc1,doc2,doc3;term2->doc1,doc2。|名称:正排,阐明:文档到字段对应关系组成的链表,filter子句采纳这种排序形式,性能略慢于倒排。例如:doc1->id,type,create_time。|名称:召回,阐明:通过查问的关键词进行分词,将分词后的词组通过查找倒排链表疾速定位到文档。|名称:召回量,阐明:召回失去的文档数为召回量。", "index": 2, "source": {"title": "名词解释", "url": "url"}}{"text": "数据同步:名称:数据源,阐明:数据起源,目前反对阿里云RDS、MaxCompute、PolarDB的数据同步。|名称:索引重建,阐明:从新构建索引。在配置/批改利用构造、数据源后须要索引重建。配额治理:名称:文档容量,阐明:实例中各个表的总文档大小累加值(不思考字段名,字段内容依照string来计算容量)。|名称:QPS,阐明:每秒查问申请数。|名称:LCU,阐明:LCU(逻辑计算单元)是掂量搜寻计算能力的单位,一个LCU代表搜寻集群中1/100个核的计算能力。", "index": 3, "source": {"title": "名词解释", "url": "url"}}2.2.2. 文本向量化模型:ops-text-embedding-001相比于传统搜寻,在与LLM的交互中,很大的一个扭转就是用户能够用十分天然的语言,而不是传统搜寻中的关键词。对于自然语言化的输出,基于语义的向量检索架构人造符合。 ...

June 7, 2023 · 2 min · jiezi

关于机器学习:面向动态图的极低时延-GNN-推理采样服务

GraphLearn是阿里云机器学习平台PAI 团队和达摩院智能计算实验室图计算团队共建的工业界大规模图神经网络训练框架, 也是一站式图计算平台GraphScope的图学习引擎。GraphLearn最新开源了面向动态图的GNN在线推理实时采样服务(DGS)。DGS具备解决实时高吞吐图更新的能力,并能保障低时延、高并发的推理采样查询处理。其图更新和采样查问的性能在分布式环境下线性可扩大。近期,GraphLearn团队和浙大联结发表的《Dynamic Graph Sampling Service for Real-time GNN Inference at Scale》被评比为EuroSys2023 best poster。 Poster地址:https://2023.eurosys.org/docs/posters/eurosys23posters-final4...开源我的项目地址: GraphLearn, GraphScope背景介绍GNN模型通过图构造表征高阶邻域信息,在大规模工业落地中,一种罕用的训练形式是通过邻域采样的形式来升高通信和计算的开销,从而取得分布式的扩展性。与此同时,在举荐、金融反欺诈等实在业务场景中,图的构造和属性往往会随着工夫动态变化,GNN模型须要能实时采样并表征这些邻域的动静信息。 因为在线学习容易造成模型的抖动,在理论生产利用中,模型的部署也通常须要通过简单的生产链路,因而个别采纳近线模型进行部署,为了让GNN模型可能实时表征邻域信息,在GNN模型的推理过程中,须要通过实时的采样图构造和属性来进行实时推理。 为保障用户体验,这种实时推理的工作具备极低时延的需要,留给采样查问的时延空间十分小。同时,因为工业大图的数据规模和在线推理服务的QPS往往超出单机的存储和计算能力。因而,咱们须要提供一个在大规模的动态图上保障极低时延的面向GNN模型推理的实时采样服务(P99在20毫秒以内),并具备在分布式环境下线性扩大的能力。 挑战实时图采样服务的直观做法是保护一个动态图的存储和查问模块,在推理申请达到时对申请的点进行街坊采样计算和属性收集,采样计算失去的样本作为模型服务的输出进行推理。然而图数据的散布和推理采样的负载个性,导致这种直观的做法难以在分布式的动态图上实现稳固的低延时采样,具体地,存在以下挑战: 街坊采样须要遍历所有的街坊,并且随着图的动态变化,街坊一直变动,难以保障简单的采样计算的低时延,超点的存在也造成了时延的不稳固。因为图数据分布存在不平衡的特点,各个图分片上的存储和计算负载散布不均,造成采样延时的不稳固,也为分布式下线性扩大带来挑战。推理采样个别为多跳采样,并且须要收集顶点或边上的动静属性,在分布式图上,多跳采样和属性拜访带来的网络和本地I/O开销,对时延造成很大的影响。要害设计与个别图数据库的负载不同,动态图推理采样服务在服务于一个给定的模型的在线推理时,其对应的图采样具备固定的pattern。如一个常见User-Item,Item-Item二部图上的GraphSAGE模型,这个图采样的pattern个别是对于申请的用户ID(feed_id),依据工夫戳作为概率采样它最新2个最新购买的商品,对这2个商品采样他们相关系数最高的2个商品。用GraphLearn提供的GSL(Graph Sampling Language)表白成如下Query: $$图1: 二跳采样Query$$ 这种固定pattern的Query,给大规模的动态图采样提供了稳固的低延时服务的机会。 DGS零碎设计的关键点: 1.存算拆散和感知Query的Cache DGS将图存储和采样计算进行拆散。采样计算个别是指随机采样,最新街坊采样(topk timestamp),或通过边权重(或边timestamp)做概率分布采样。前两种采样的工夫复杂度为O(1),概率分布采样通常应用Alias Method实现,在动态图中变动的概率分布上须要反复计算Alias Table,其工夫和空间复杂度均为O(N), 其中,N为顶点的街坊数,并一直发生变化。与图存储的简略读写不同,图采样过程蕴含存储的读写与简单的计算,因而咱们首先将存储和计算进行拆散,并且在计算侧,零碎事后将服务的特定Query所须要拜访的数据cache起来,以晋升图采样计算的空间局部性。 2.Event-driven预采样 为了减速采样申请的响应,DGS将每个顶点的采样计算从申请输出的时刻提前到图更新事件产生的时刻,利用空间换取工夫,使得采样申请产生时仅须要实现点查。同时,为了升高图更新事件从产生到样本生成之间的staleness,DGS采纳流采样的形式,通过带权重的蓄水池采样算法,在每个更新达到时,依据预装置的Query,进行流式采样。这种图更新事件驱动的采样前置的形式,使得对每个顶点的图数据存储空间和计算工夫都变成了常数*O(K),其中K为蓄水池大小。通过将图采样计算的后果事后存储在cache中解决了挑战1中的问题。 3.Multi-hop拆解和Lazy拼接 至此,DGS解决了输出顶点的实时一跳采样。然而DGS次要服务于多跳采样,以二跳采样为例,输出顶点的一跳后果更新后,对应的二跳后果也须要更新(同时更新收集的属性)。在跳数更多的状况下,这种连锁反应造成的指数级增长的读写开销,对采样申请的时延产生微小的影响。DGS解决该问题的形式是依据预装置的Query,将图采样依照每一跳进行拆解。对于每一跳采样,对图中对应顶点类型的所有顶点进行对应的流式预采样和存储。例如,图1中的Query能够拆解位图2所示,联合Event-driven预采样,每个顶点对应的样本在蓄水池中存储和更新如图3所示。 并且,DGS将多跳样本的拼接推延到对应的推理采样申请产生的时刻(Lazy拼接),以防止提前拼接后继续更新。 $$图2: 二跳采样Query拆解$$ $$图3: Event-driven更新$$ 1.订阅-公布机制 咱们将多跳的拼接提早到申请产生的时候,然而,多跳后果往往存储在不同分片上,跨机通信带来了大量的网络通信开销。因而,DGS设计了一套订阅-公布机制,行将申请的id依据特定的分片算法路由到对应的服务机器上,该机器上订阅这些id和它的多跳街坊的更新。随着街坊关系的扭转,订阅表也不断更新。 2.读写隔离 依据以上的零碎设计,当采样申请产生时,DGS将它路由到指定worker,进行本地的查问即可取得多跳采样后果。为了优先保障读的latency,同时保障写的staleness,DGS在调度读写task时进行优先级调度。同时,在零碎架构上,将频繁计算和更新存储(写)的工作和响应采样申请(读)的工作放在不同的机器上,进行读写的隔离。 零碎架构DGS零碎的外围组件架构如下图所示,次要为Sampling Worker和Server Worker组件。 $$图4: DGS系统核心架构$$ 图更新依据Key(例如顶点ID)分片发给Sampling Worker的对应分区。每个Sampling Worker负责特定的分区:进行一跳预采样并将后果发给Serving Worker。每个Serving Worker缓存从Sampling Worker接管到的K个一跳查问的采样后果,并响应全图中某一特定分片的顶点的推理采样申请。 Sampling Workers和Serving Workers能够独立的进行弹性扩缩容,以应答图更新和推理申请的负载变动。为了让生成残缺K跳采样后果的提早最小化,DGS将顶点 的所有K跳采样后果提前发送给响应 推理申请的Serving Worker,使得K跳图采样计算转化为仅须要拜访Serving Worker上本地缓存的操作。为了实现这一点,每个Sampling Worker保护每个一跳查问的订阅表,记录订阅一跳查问后果的Serving Worker列表。例如,将顶点 从 的一跳样本中增删会触发音讯来将该事件发送到蕴含 的分区的Sampling Worker,并相应地更新  的订阅信息。 ...

June 6, 2023 · 1 min · jiezi

关于机器学习:南瓜书第一章

1.1$$E_{o t e}\left(\mathfrak{L}\_{a} | X, f\right)=\sum\_{h} \sum\_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right)$$[解析]:参见公式(1.2) 1.2因公式展现问题,请跳转残缺公式

June 6, 2023 · 1 min · jiezi

关于机器学习:人工智能创新挑战赛助力精准气象和海洋预测Baseline2数据探索性分析温度风场可视化CNNLSTM模型建模

“AI Earth”人工智能翻新挑战赛:助力精准气象和陆地预测Baseline[2]:数据探索性剖析(温度风场可视化)、CNN+LSTM模型建模1.气象陆地预测-数据分析数据分析是解决一个数据挖掘工作的重要一环,通过数据分析,咱们能够理解标签的散布、数据中存在的缺失值和异样值、特色与标签之间的相关性、特色之间的相关性等,并依据数据分析的后果,领导咱们后续的特色工程以及模型的抉择和设计。 在本次工作中,将摸索赛题中给出的两份训练数据,可视化剖析四个气象特色的散布状况,思考如何进行特色工程以及如何抉择或设计模型来实现咱们的预测工作。 学习指标 学习如何摸索并可视化剖析气象数据。依据数据分析后果思考以下两个问题: 是否结构新的特色?抉择或设计什么样的模型进行预测?本赛题应用的训练数据包含CMIP5中17个模式提供的140年的历史模仿数据、CMIP6中15个模式提供的151年的历史模仿数据和美国SODA模式重建的100年的历史观测异化数据,采纳nc格局保留,其中CMIP5和CMIP6别离是世界气象钻研打算(WCRP)的第5次和第6次耦合模式比拟打算,这二者都提供了多种不同的气象模式对于多种气象变量的模仿数据。这些数据蕴含四种气象变量:海表温度异样(SST)、热含量异样(T300)、纬向风异样(Ua)、经向风异样(Va),数据维度为(year, month, lat, lon),对于训练数据提供对应月份的Nino3.4指数标签数据。简而言之,提供的训练数据中的每个样本为某年、某月、某个维度、某个经度的SST、T300、Ua、Va数值,标签为对应年、对应月的Nino3.4指数。 须要留神的是,样本的第二维度month的长度不是12个月,而是36个月,对应从以后year开始间断三年的数据,例如SODA训练数据中year为0时蕴含的是从第1 - 第3年逐月的历史观测数据,year为1时蕴含的是从第2年 - 第4年逐月的历史观测数据,也就是说,样本在工夫上是有穿插的。 另外一点须要留神的是,Nino3.4指数是Nino3.4区域从以后月开始间断三个月的SST平均值,也就是说,咱们也能够不间接预测Nino3.4指数,而是以SST为预测指标,间接求得Nino3.4指数。测试数据为国内多个陆地材料异化后果提供的随机抽取的$N$段长度为12个月的工夫序列,数据采纳npy格局保留,维度为(12, lat, lon, 4),第一维度为间断的12个月份,第四维度为4个气象变量,按SST、T300、Ua、Va的程序寄存。测试集文件序列的命名如test_00001_01_12.npy中00001示意编号,01示意起始月份,12示意终止月份。 在本次工作中咱们须要用到global_land_mask这个Python库,这个库能够依据输出的纬度和经度判断该点是否在海洋上。 我的项目链接以及码源见文末# !unzip -d input /home/aistudio/data/data221707/enso_round1_train_20210201.zipArchive: /home/aistudio/data/data221707/enso_round1_train_20210201.zip creating: input/enso_round1_train_20210201/ inflating: input/enso_round1_train_20210201/CMIP_train.nc inflating: input/enso_round1_train_20210201/.DS_Store inflating: input/enso_round1_train_20210201/readme.txt inflating: input/enso_round1_train_20210201/SODA_train.nc inflating: input/enso_round1_train_20210201/SODA_label.nc inflating: input/enso_round1_train_20210201/CMIP_label.nc # 装置global_land_mask!pip install global_land_maskimport numpy as npimport matplotlib.pyplot as pltimport randomimport netCDF4import seaborn as snsfrom global_land_mask import globefrom scipy import interpolateplt.rcParams['font.sans-serif'] = ['SimHei'] #中文反对%matplotlib inline1.1 以SODA数据集为例,摸索标签的散布状况# 读取SODA数据# 存放数据的门路path = '/home/aistudio/'data = netCDF4.Dataset(path + 'SODA_train.nc')label = netCDF4.Dataset(path + 'SODA_label.nc')label = np.array(label.variables['nino'])print(data.variables['sst'].shape)(100, 36, 24, 72)label.shape(100, 36)能够看到,数据集中的每个样本是以某一年为起始的接下来36个月的气象数据,同样的,标签也是以这一年为起始的接下来36个月中每个月的Nino3.4指数。然而一年只有12个月,怎么会有36个月的数据呢? ...

June 6, 2023 · 11 min · jiezi

关于机器学习:推进产业发展健全服务体系中国信通院数字员工评测工作正式启动

数字技术与利用正在疾速重塑全新的经济倒退格局,翻新利用人工智能、大数据、云计算等新兴技术是企业施行数字化转型的重要策略之一。 “数字员工”是数字生产力与创造力体系的外围因素,自动化、智能化的执行模式将成为企业业务经营的新常态。随着数字员工利用的推广和深刻,企业开始关注数字员工的治理与倒退等关键问题,如何精确定位数字员工技术能力,如何保障数字员工平台建设功效,成为了行业倒退面临的重要挑战。 一、研制数字员工规范体系,促成技术与平台倒退2023年初,中国信通院依靠RPA产业推动方阵启动了“数字员工”系列规范的研制工作,来自三十多家单位的90余位专家参加了规范的探讨与订正,目前规范工作组已实现《数字员工技术与平台能力框架 第1局部:通用要求》规范征求意见稿。规范从数字员工技术与平台两个层面,提出了从技术因素到利用体系的总体通用能力要求。技术局部提出了交互与表白、工作与执行两类能力域,平台局部提出了综合治理、平安保障、平台倒退三类能力域,为数字员工技术供应和数字员工平台建设,提供了体系化的能力要求和倒退方向参考。 二、欠缺数字员工评测体系,服务研发与利用需要数字员工兼具技术资源与人力资源双重特色,是数字化转型背景下,企业极为重要的倒退资源因素之一。 为了进一步推动相干产业倒退,健全产业服务体系,中国信通院根据《数字员工技术与平台能力框架 第1局部:通用要求》规范,欠缺了数字员工评测体系,蕴含两大评测模块。 模块一:技术能力评测面向数字员工技术研发企业发展,重点评估其数字员工相干技术能力,分为智能交互、数字形象、智能协同、自动化执行、剖析决策、辨认生成六个测试方向。 次要考查数字员工与人类员工或客户交互的智能化程度、数字员工形象、场景生成与合成能力、协同工作能力、工作自动化执行能力和异样修复能力、剖析和决策能力、辨认和内容生成能力等。 模块二:平台能力评测面向数字员工平台建设企业发展,重点评估其数字员工相干平台能力。 基于综合治理、平安保障、平台倒退三个重点畛域,别离从身份治理、工作治理、资产治理等角度考查平台治理能力;从危险预案、合规查看、性能平安、应急处理等角度考查平台危险控制能力;从利用能效、环境保障、继续优化、战略规划等角度考查平台将来发展潜力。 中国信通院数字员工首轮试评估工作正式启动,打算6-8月发展评估测试工作,8-9月公布相干后果。 动向参评企业,能够到RPA产业推动方阵 RUIDA官微查看详细信息。

June 2, 2023 · 1 min · jiezi

关于机器学习:扩散模型-DDPM-优化

3 DDPM 的优化3.1 参数优化3.1.1 优化 t在 "Improved Denoising Diffusion Probabilistic Models". 一文中,作者提出了多种优化 DDPM 的技巧。其中一种就是把 t 的线性机制改为余弦机制。 机制(schedule)函数的实现绝对灵便,只有保障在训练的两头过程提供近似-线性的降落并且在 t = 0 和 t = T 左近的变动不大即可。 文中给出的余弦机制为: 线性机制和余弦机制的比照: 3.1.2 优化 同样在 "Improved Denoising Diffusion Probabilistic Models". 一文中。作者提出把 设置为可学习参数,作为 t 和 t-hat 之间的插值。 因为在 DDPM("Denoising Diffusion Probabilistic Models") 原文中, 不是可学习的参数,所以损失函数中并不蕴含该项。因而,作者提出把损失函数由 Lsimple 改为 Lhybrid = Lsimple + Lvlb,其中 = 0.001 来阻止 Lvlb 项中的 的梯度,因而 Lvlb 仅仅由 的学习来疏导。 3.2 抽样速度优化3.2.1 DDIM因为马尔可夫过程依赖于前一个状态的条件概率,因而 DDPM 的抽样速度很慢。 在 DDIM("Denoising Diffusion Implicit Models")一文中,作者指出:“对 DDPM 来说,须要破费 20 小时来采样 50k 张 32 * 32 大小的图片;然而对于 GAN 来说,只须要不到 1 分钟”。 ...

June 2, 2023 · 2 min · jiezi

关于机器学习:通过-Gorilla-入门机器学习

机器学习是一种人工智能畛域的技术和办法,旨在让计算机系统可能从数据中学习和改良,而无需显式地进行编程。它波及构建和训练模型,使其可能主动从数据中提取法则、进行预测或做出决策。 我对于机器学习这方面的理解能够说是一片空白,既不懂机器学习,也不懂 python,更不懂算法。 像我这样的人,在短时间内精通机器学习是不可能的。 那么,当初我能够通过哪些渠道来疾速理解机器学习呢?或者说,玩一玩? 答案就是通过 Gorilla 这个开源我的项目来实现机器学习。 Gorilla 简介&应用Gorilla 是一个基于 LLM 实现的对话模型,能够接管用户提供的需要,而后给出可能实现需求的机器学习模型 API,目前反对的开源模型 API 起源蕴含:Hugging Face、Torch、and TensorFlow. 咱们能够在 Google 的 Colab 下面运行 Gorilla,也能够在本地运行 Gorilla。 这里我应用 Colab 来运行 Gorilla。 Gorilla 提供了两个案例,一个是翻译的案例,一个是图像识别的案例。 这里我选用了图像识别的案例,点击运行。 从图中能够看出,咱们给出的需要是 构建一个能够辨认图片中的物体的机器人,应用的模型起源是 Hugging Face。 它的答复是: 步骤:引入 PIL 和 transformers 相干依赖, 其中蕴含的 DetrForObjectDetection 可用于图像识别。应用 from_pretrained 办法加载模型,模型能够用来辨认图片中的物体。从远端下载图片,而后应用 PIL 解决图片。应用模型辨认图片中的物体,而后将辨认后果返回。最初,它给出了一段代码,咱们能够间接复制到本地文件中运行。 运行之前,须要保障本地具备 python3 工作环境,同时须要应用 pip 将代码中应用到的依赖进行装置。 我在简略尝试后,发现这段代码是无奈运行的,这也是大多数 LLM 模型的通病,看起来很业余的答案,然而理论代码是无奈运行的。 Hugging Face 模型不过,整体代码逻辑我看了一眼,是能够了解的,那么,咱们能够本人入手来实现这个需要。 首先,在网上找到 Hugging Face,在外面发现了很多模型,这里我抉择了最多下载的模型 —— 辨认车牌。(如下图) 点进去能够看到性能介绍及示例代码。(如下图) ...

June 1, 2023 · 1 min · jiezi

关于机器学习:英国皇家植物园采用机器学习预测植物抗疟性将准确率从-046-提升至-067

内容一览:疟疾是严重危害人类生命衰弱的重大传染病,钻研人员始终在致力于寻找新的动物源性抗疟疾化合物,以研发相干药物。近期英国皇家植物园利用机器学习 算法 无效预测了动物抗疟性,该研究成果目前已发表在《Frontiers in Plant Science》期刊上。关键词:植物学 抗疟疾 反对向量作者 | 缓缓编辑 | 三羊 本文首发自 HyperAI 超神经微信公众平台~ 疟疾是一种肆虐寰球的寄生虫病,它通过蚊媒流传,其发病率以及致死率始终在虫媒流传疾病中居高不下。依据最新的《世界疟疾报告》,2021 年寰球疟疾风行进一步加剧,全年共有 2.47 亿例新发病例,预计死亡病例 61.9 万人。 目前寰球仍以药物医治作为次要的疟疾防治伎俩,并且很多药物的抗疟疾活性人造分子都来源于动物之中,因而,钻研人员们始终致力于寻找新的动物源性抗疟疾化合物,不过,为了达到这个目标,须要对大量的动物进行筛选和测试,这个过程十分耗时且低廉。 近期,英国皇家植物园 (Royal Botanic Gardens, Kew) 及圣安德鲁斯大学 (University of St Andrews) 的钻研人员证实了机器学习算法可能无效预测动物抗疟性,且准确率为 0.67,相较传统试验办法的 0.46,已有了显著晋升。目前,该研究成果已发表在《Frontiers in Plant Science》期刊上,题目为《Machine learning enhances prediction of plants as potential sources of antimalarials》。 该研究成果已发表在《Frontiers in Plant Science》上 数据集及抽样偏差校对本试验重要指标之一是评估是否能够用动物特色数据训练机器学习模型来预测动物抗疟活性。首先,钻研人员提供了一个数据集,该数据集基于龙胆目标 3 个花卉动物科——夹竹桃科、马钱科和茜草科的 21,100 个动物物种。 这些动物已被发现含有许多生物碱,如抗疟生物碱奎中的奎宁以及其异构体奎尼丁等。 图 1:夹竹桃、马钱和茜草科中含有抗疟疾生物碱的实例 A:在夹竹桃科动物中发现的一种生物碱:Aspidocarpine。 B:在马钱子科动物中发现的一种生物碱:Strychnogucine。 C:在茜草科动物中发现的、现被宽泛用于抗疟药物中的生物碱:Quinine(奎宁)。 数据集具体包含动物状态特色、生物化学特色、成长环境条件以及地理位置等信息,下图展示了这份数据集中二元特色之间(只有两种取值的特色,如有毒/无毒)的关系。 图 2:数据集中二元特色间的关系 ...

May 31, 2023 · 2 min · jiezi

关于机器学习:Generative-AI-新世界-大语言模型LLMs在-Amazon-SageMaker-上的动手实践

在上一篇《Generative AI 新世界:大型语言模型(LLMs)概述》中,咱们一起探讨了大型语言模型的倒退历史、语料起源、数据预处理流程策略、训练应用的网络架构、最新钻研方向剖析(Amazon Titan、LLaMA、PaLM-E 等),以及在亚马逊云科技上进行大型语言模型训练的一些最佳落地实际等。 本期文章,咱们将重点探讨入手实际,通过三个入手试验从浅到深地解读和演示大型语言模型(LLMs),如何联合 Amazon SageMaker 的模型部署、模型编译优化、模型分布式训练等方面。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!试验一:应用 Amazon SageMaker 构建基于开源 GPT-J 模型的对话机器人利用开发者能够应用 Amazon SageMaker 构建一个交互式的人机对话利用 DEMO,尝试基于开源 GPT-J 模型的 Text Generation 技术。Amazon SageMaker 是亚马逊云科技私有云中的一项托管服务。作为一个云机器学习平台,能够让开发者在云中创立、训练和部署 ML 模型。 这一入手试验仅仅应用 20 行左右的代码,即可将开源的 GPT-J 模型部署到 Amazon SageMaker 的终端节点(Endpoint),实现交互式人机对话。实现该试验的代码编写和模型部署预计须要 20 分钟。 什么是 GPT-J: GPT-J 是一种生成式预训练(GPT)语言模型,就其架构而言,它可与 GPT-3 等风行的公有大型语言模型相媲美。它由大概 60 亿个参数和 28 个层组成,包含一个前馈模块和一个自注意力模块。为 GPT-J 提供推理所需的内存要低得多——在 FP16 中,模型权重占用不到 13 GB,这意味着能够在单个 16GB GPU 上轻松进行推理。 本试验参考代码的 GitHub 地址: https://github.com/hanyun2019/aigc/blob/main/deploy-gptj.ipynb?trk=cndc-detail 创立 SageMaker Notebook 实例在亚马逊云科技控制台(console.aws.amazon.com)上,输出 “Amazon SageMaker” 并点击进入,而后在左侧导航菜单中找到 “Notebook instances”,点击右上角的 “Create notebook instance” 开始创立。如下图所示: ...

May 31, 2023 · 7 min · jiezi

关于机器学习:机器学习模型的生命周期

动动发财的小手,点个赞吧! 您的模型如何变动?Source 诞生当咱们构建、训练、拟合或预计咱们的模型时,这些数字工具就诞生了。这个阶段简直从领有剖析指标、数据、计算机、算法以及数据科学家当初曾经十分理解的其余所有开始。无论您收集什么其余工具,永远不要遗记剖析或迷信指标,以便您的最终模型有意义并满足特定需要。你的模特什么时候出世的?当您实现培训并将其保留以供待业/部署时,该工具的生命周期就开始了。 这个新生儿有什么前途?这将取决于剖析指标,因而咱们在构建它时不能遗记这部分。该模型能够服务于预测工作、指标解释或假如情景模仿,以及许多其余抉择。这个工具将用于某些事件。能够是简略疾速的事件,也能够是简单、耗时和长期的事件。这种应用将决定该模型的残余寿命。如果该模型用于参数的一次性解释,那么生命就没有多少了。然而,如果该模型用于预测,并且旨在为具备在线数据收集的零碎提供服务,那么生命就在这个新生儿背后。接下来是什么? 保护随着咱们持续应用该模型,反对模型训练的数据条件将开始发生变化。就在那个变动的时候,模型也开始经验变动。如果咱们在训练时建设一个预测精度高的散失预测模型,那么在不久或边远的未来,要预测的客户的条件或行为就会开始发生变化。这种变动挑战了咱们学习模型的预测性能。当这些变动产生时,咱们的模型进入一个新阶段,咱们称之为保护。 在维护阶段,咱们可能须要新数据。有了它,咱们能够更新模型的规格。这与应用另一台机器(例如汽车)并在机器无奈失常工作时调整整机没有什么不同。咱们不会深入探讨执行模型保护的策略或解决方案,但一般来说,咱们的模型须要经验一个调整过程能力使它们复原到令人满意的性能。 保护机器学习模型与从新训练模型并不完全相同。有些模型可能非常简单,以至于用更新的数据从新训练它们也同样简略。这可能是线性架构或具备很少层和神经元的网络的状况。然而当模型如此简单且具备大型和深层架构时,维护阶段须要比从新训练模型的费用简略得多。这是当今机器学习畛域最重要的主题之一,因为这些工具十分弱小,但从久远来看保护起来却十分低廉。 调整或更新模型后,它就能够复原应用了,因而模型正在服务的任何过程都能够持续应用更新后的版本。咱们的机器能够持续应用。尽管如此,这台机器曾经产生了变动。如果你违心的话,它曾经被应用、耗费,并且曾经转变为与原始状态略有不同的货色。就像铅笔一样,咱们的模型会遇到咱们须要削尖它们的尖端以爱护它们以便咱们能够持续应用它们的时刻。 迁徙在机器学习的路线上,咱们可能须要走一个进口:转移。当我第一次看到有人调换他们的汽车轮胎在结冰的路上行驶时,我已经拜访过令人惊叹的冰岛。而后当他们回到城市时,他们又换回了一般轮胎。当我开始钻研迁徙学习时,这个概念变得如此清晰,同时还记得冰岛汽车轮胎的转换。当新的环境/畛域开始发挥作用时,咱们的模型会进入一个称为迁徙的新阶段。 正如同一辆汽车能够通过更换轮胎而无需购买另一辆独自的汽车来适应不同的高空一样,咱们能够增加或调整咱们模型的某些局部以服务于新畛域的新目标,而无需构建新模型。迁徙学习是机器学习文献中的另一个钻研子畛域,旨在优化模型的调整以简化新环境下训练模型的工作。风行的例子是图像识别模型。咱们用某些类别的图像训练它们,而后其他人转移这些模型以辨认新类别的图像。许多企业当初应用 RegNet、VGG、Inception 或 AlexNet 等模型来调整它们以满足本人的需要。 当咱们转移一个模型时,在某种程度上,一个新模型诞生了,它有本人的生命周期,与原来的模型离开。它将像原始模型一样须要保护。有了这个,咱们曾经从领有一个初始实体到可能创立一整套模型。毫无疑问,这些数字工具背地的确存在生命周期。 咱们的模型会死吗?简短的答复是:是的。例如,当它们的剖析性能在零碎上不尽如人意,或者当它们变得如此宏大和如此不同以至于原始模型已成为过来时,它们的确能够进行存在。正如咱们在开始时所说,岩石、铅笔和汽车在某个时候都会进行存在。在这方面,模型与这些货色没有什么不同。 只管该模型可能会灭绝,但直到明天,对它们何时达到这一点的问题的答案是咱们在机器学习钻研社区中想要答复的最大问题。监控机器学习和模型保护性能的许多倒退都与模型何时不再起作用的问题无关。 这个答案不是微不足道的起因之一是因为咱们一直须要标签来量化性能的满意度。但机器和统计学习最大的悖论恰好是标签不可用,而咱们构建这些工具来预测它们。另一个起因是,定义性能变动的承受限度可能十分主观。尽管科学家能够提出一些限度,但企业可能有不同的容忍度。 以下是数据科学家在答复这个问题(以后未解决的问题)时也能够思考的一些要点: 训练数据是否过期? (什么是“太过期了”)以后版本与模型的原始版本有多类似? (什么是“类似”?)输出特色的可变性和与指标变量的关系是否齐全漂移了? (协变量和概念漂移,机器学习保护钻研中的两个最大课题)。部署模型的物理过程是否还在应用?如果物理基础设施不再反对模型的部署,这无疑标记着其生命周期的完结。不再为模特而活并不一定是消极的事件,更像是她们的一条进化之路。咱们须要理解它的生命周期,以使咱们的物理和数字零碎放弃最新状态并具备令人满意的性能。 本文由mdnice多平台公布

May 30, 2023 · 1 min · jiezi

关于机器学习:Midjourney-AI绘画教程完整版模型命令参数与各种高级用法

1.Midjourney是什么?2.在官网如何注册?3.Discord又是什么?4.应用Midjourney├─A.Upscale├─B.Variation├─C.re-roll 从新生成├─D.通过 Midjourney Bot 应用└─E.保留 & 删除图片4.Midjourney Prompt 根本构造├─A.Image Prompts(选填)├─B.Text Prompt├─C.Parameter(参数)├─D.语法├─E.命令├─F.单词└─G.参数5.Midjourney Prompt 罕用参数├─A.Version├─B.Aspect Ratios├─C.No├─D.Chaos├─E.Stylize└─F.Niji6.Midjourney 根底设置├─A.关上设置├─B.版本设置├─C.图像品质设置├─D.格调设置├─E.隐衷设置7.订阅 Midjourney 会员如何订阅?先上几张图片成果吧:  图 / Midjourney生成图片的成果 图 / Midjourney生成图片的成果 图 / Midjourney生成图片的成果 图 / Midjourney生成图片的成果   图 / Midjourney生成图片的成果 1.Midjourney是什么?Midjourney是一款AI制图工具,只有关键字,就能透过AI算法生成绝对应的图片,只须要不到一分钟。能够抉择不同画家的艺术风格,例如安迪华荷、达芬奇、达利和毕加索等,还能辨认特定镜头或摄影术语。 有别于谷歌的 Imagen和OpenAI的DALL.E,Midjourney是第一个疾速生成AI制图并凋谢予公众申请应用的平台。 Midjourney默认偏差于创立具备绘画性、好看性的图像,MidJourney更喜爱用互补的色彩、光影的艺术使用、清晰的细节以及具备令人满意的对称性或透视性的构图来创立图像。 2023年5月15日音讯,Midjourney官网中文版曾经开启内测。 2.在官网如何注册?首先,你须要注册一个 Discord 账号,而后退出 Midjourney 的 Discord 服务器。或者去 Midjourney 的官网点击右下角的 Join the Beta:或者去 Midjourney 的官网点击右下角的 Join the Beta: 图 / 注册账号 3.Discord又是什么?Discord 于 2015 年推出,其初衷是为游戏玩家建设社区和聊天的平台。然而,它曾经倒退成为一个远不止于此的平台,涵盖了不同趣味的受众,而不仅仅是游戏玩家。简略来说,Discord 是一个消息传递平台,容许用户通过不同的渠道互相通信。它能够被认为是 Slack 的一个不那么正式的版本。通过该平台,用户能够发短信和发送视频音讯,以及其余模式的富媒体,例如照片和视频。 用户注册账号,并抉择进入到 Midjourney 的服务器后,就能在 Midjourney 的 Discord 的左侧栏,看到 newbies-XXX 的频道,轻易点击一个,进入该频道,这个频道就是给收费用户测试应用的: 图 / Discord 公共服务器 ...

May 30, 2023 · 1 min · jiezi

关于机器学习:书籍推荐信息融合机器学习方法

书籍: Information Fusion: Machine Learning Methods作者: Jinxing Li,Bob Zhang,David Zhang出版: 高等教育出版社,Springer原文: 书籍下载-《信息交融:机器学习办法》 01 书籍介绍在大数据时代,咱们能够从同一源对象或场景中提取出越来越多的信息。例如,人的认证能够基于指纹、掌纹或虹膜等信息,而图像则能够通过纹理、色彩、形态等多种形式来示意。这些从单个对象中提取出的多类型数据被称为“多视角”、“多模态”或“多特色”数据。许多钻研表明,利用所有可用的信息,并在多个抽象层次(测量,特色,决策)上进行综合有助于获取更为简单、牢靠和精确的信息,并在各种利用场景中实现最佳性能。 本书旨在向读者介绍信息交融技术及其利用的最新进展。它涵盖了各种基于不同技术的重要信息交融办法,包含稠密/合作示意、核策略、贝叶斯模型、度量学习、权重/分类器办法和深度学习等。此外,本书还具体介绍了这些交融办法的典型利用,如图像分类、畛域自适应、疾病检测以及图像复原等。 无论是计算机视觉、模式识别、生物特色利用等畛域的钻研人员、专业人士或研究生,本书都将对其有所帮忙。同时,本书也为跨学科钻研提供了重要的参考资源。 02 作者介绍Jinxing Li于2012年取得中国杭州电子科技大学自动化系学士学位,2015年取得中国重庆大学自动化系硕士学位,2018年在香港理工大学计算机系取得博士学位,他的钻研趣味包含模式识别、医学生物特色和机器学习。 Bob Zhang于2011年在加拿大滑铁卢大学取得电气与计算机工程博士学位。毕业后,他曾在美国宾夕法尼亚州匹兹堡市的卡内基梅隆大学电气与计算机工程系负责博士后研究员。 他目前是澳门大学计算机与信息科学系的副教授。他的钻研趣味聚焦于生物辨认、模式识别和图像处理。张博士是IEEE高级会员,在IEEE零碎、人类和管制社区的技术委员会成员以及《人工智能评论》的副主编。 David Zhang毕业于北京大学计算机科学业余。1982年和1985年别离取得哈尔滨工业大学计算机科学硕士和博士学位。从1986年到1988年,他在清华大学负责了博士后研究员,随后又在中国科学院负责了副教授。1994年,他在加拿大安大略省滑铁卢大学取得电气与计算机工程博士学位。目前,他是香港理工大学的主席传授,自1998年以来始终是由香港特别行政区政府反对的"Biometrics Research Center (UGC/CRC)"的创始人和主任。他还在清华大学、哈尔滨工业大学等地负责客座教授,并在上海交通大学、北京大学、国防科技大学和滑铁卢大学负责兼职传授。 03  书籍纲要 书籍举荐-《卡尔曼滤波与信息交融》书籍下载-《主动驾驶汽车第2卷:智能汽车》书籍下载-《主动驾驶中的深度学习和计算机视觉》书籍举荐-《基于多视图几何的机器人零碎视觉感知与管制》书籍举荐-《机器人感知与认知中的深度学习》

May 30, 2023 · 1 min · jiezi

关于机器学习:Generative-AI-新世界-走进文生图TexttoImage领域

在之前的四篇 “Generative AI 新世界” 中,咱们率领大家一起摸索了生成式 AI(Generative AI),以及大型语言模型(LLMs)的全新世界概览。并在文本生成(Text Generation)畛域做了一些概述、相干论文解读、以及在亚马逊云科技的落地实际和入手试验。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!从本期文章开始,咱们将一起摸索生成式 AI(Generative AI)的另一个提高迅速的畛域:文生图(Text-to-Image)畛域。咱们将用三个系列文章的篇幅,来一起洞察在文生图(Text-to-Image)畛域的前世今生、相干论文解读、以及在亚马逊云科技的落地实际和理论代码实现展现等。 CLIP:基于比照文本-图像对的预训练2021 年之前,在自然语言解决 (Natural Language Processing) 畛域有很多预训练方法都取得了胜利。例如,GPT-3 的 175B 从网上收集了近 5 亿 tokens 进行预训练,在很多上游工作上实现 SOTA (State-of-the-Art) 性能和 Zero-Shot Learning。这阐明从海量互联网数据 (web-scale) 中学习,是能够超过高质量的人工标注 NLP 数据集的。 然而在计算机视觉 (Computer Vision) 畛域的预训练模型还是次要基于人工标注的 ImageNet 数据进行训练。因为人工标注的工作量微小,许多科学家们开始构想:如何构建更为高效、便捷的形式用于训练视觉表征模型呢? 2021 年 OpenAI 发表的论文《Learning Transferable Visual Models From Natural Language Supervision》提出了 CLIP (Contrastive Language-Image Pre-training) 模型,并在论文中具体论述了如何通过自然语言解决监督信号,来训练可迁徙的视觉模型(其原理架构如下图所示)。 《Learning Transferable Visual Models From Natural Language Supervision》 https://cdn.openai.com/papers/Learning_Transferable_Visual_Mo... Source: https://github.com/openai/CLIP?trk=cndc-detail 对于 CLIP,OpenAI 是在 4 亿对图像-文本对上进行训练。对于 CLIP 论文,会在下一期和其它文生图(Text-to-Image)畛域的重要论文一起集中解读。以下先简略展现下论文的次要论断(如下图所示)。论文的试验通过 ImageNet 数据集的从新筛选,制作了几个变种的版本。基于 CLIP 训练进去的模型成果十分现实: ...

May 29, 2023 · 3 min · jiezi

关于机器学习:机器学习中的概率统计应用示例

机器学习中的概率统计利用示例机器学习(Machine Learning)是人工智能(Artificial Intelligence)畛域的重要分支,其外围是通过数据和算法让计算机主动地从数据中“学习”法则,并利用所学到的常识来实现工作,如分类、回归、聚类等。而概率统计作为数学根底,则在机器学习中表演了重要的角色,本文将举例介绍机器学习中的概率统计利用。 第一局部:根底篇在介绍具体的机器学习中的概率统计利用之前,咱们先简略介绍下机器学习中的基本概念和相干数学知识。 1.1 基本概念什么是机器学习?机器学习是一种利用数据和算法让计算机主动地从数据中学习法则并利用所学到的常识来实现工作的办法或技术。 机器学习的分类依据工作类型,机器学习可分为监督学习、无监督学习和强化学习三类;依据模型模式,机器学习可分为线性模型、非线性模型和深度学习模型三类。 1.2 相干数学知识概率论根底概率是形容不确定性的一种数学方法,用于形容一个事件产生的可能性大小。概率论是钻研随机事件规律性的一门学科,包含概率空间、随机变量、概率分布等概念。 统计学根底统计学是从数据中获取信息并进行推断的一门学科,包含描述统计和推理统计两个分支。其中,描述统计次要是对数据进行概括和总结;而推理统计则是依据样本数据失去总体或总体散布的一种办法。 第二局部:利用篇在机器学习中,概率统计有着宽泛的利用,波及到数据预处理、模型抉择、模型评估等多个方面,上面咱们将介绍其中的几个具体利用。 2.1 数据预处理在理论利用中,数据品质的好坏间接影响到机器学习模型的成果。因而,在进行机器学习之前,须要对原始数据进行预处理,以去除噪声、缺失值等不良影响,进步数据品质。 在数据预处理过程中,概率统计技术被宽泛应用。例如,应用正态分布来填补缺失值;应用众数或中位数来解决离散型变量的缺失值;应用箱线图来检测异样值等等。 2.2 模型抉择在机器学习中,模型的抉择是十分重要的。不同的模型具备不同的特点,而且实用于不同的场景。因而,在理论利用中,须要依据具体任务和数据特点来抉择适合的模型。 概率统计技术提供了一些办法来进行模型抉择,如穿插验证和贝叶斯优化。其中,穿插验证(Cross-validation)能够用于评估模型的性能,并抉择最佳模型参数;而贝叶斯优化(Bayesian Optimization)则能够用于在大样本空间中全局寻找最优

May 26, 2023 · 1 min · jiezi

关于机器学习:利用-PRIMO-重构-M87-黑洞图像普林斯顿高等研究院成功将甜甜圈变身金戒指

内容一览:2019 年,「事件视界望远镜 (Event Horizon Telescope,简称 EHT)」寰球钻研团队公布了人类历史上第一张黑洞照片,受限于过后的观测条件,这张黑洞图像只呈现出一个模糊不清的轮廓。近日,天体物理学期刊《The Astrophysical Journal Letters》上公布了一篇基于 PRIMO 算法 重构 M87 黑洞图像的论文,该研究成果带来了更加清晰的黑洞图像。关键词:M87 黑洞 PRIMO 算法 PCA本文首发自 HyperAI 超神经微信公众平台~ 作者 | daserney 编辑 | 缓缓、三羊 黑洞 (Black Hole) 是古代狭义相对论中,存在于宇宙空间中的一种天体。它的引力极其弱小,使得视界内的逃逸速度大于光速,因而被称为黑洞。M87 黑洞是一个间隔地球 5500 万光年之遥的宏大天体,它的品质约为太阳的 65 亿倍。 2019 年,事件视界望远镜 (Event Horizon Telescope,简称 EHT) 寰球钻研团队正式公布人类捕捉的首张黑洞照片——M87 黑洞照片。这是人类首次目击黑洞的实在风貌,使得 M87 黑洞在寰球一夜间「爆红」。然而,因为观测条件的限度,第一张黑洞图像只能呈现出一个模糊不清的轮廓。 近期,来自普林斯顿低等研究院 (Institute for Advanced Study) 的钻研人员利用超 30,000 张高分辨率模仿黑洞图像来训练 PRIMO (principal-component interferometric modeling) 算法,学习黑洞四周的光线流传法则,从而重建出更高质量、更清晰的黑洞图像。PRIMO 使得科学家们可能更加深刻地钻研黑洞、理解它们的性质和特色,同时也提供了一种新型的数据处理伎俩,为将来天文学和物理学的倒退带来了微小的后劲。目前该钻研已公布在《The Astrophysical Journal Letters》期刊上,题目为「The Image of the M87 Black Hole Reconstructed with PRIMO」。 ...

May 25, 2023 · 2 min · jiezi

关于机器学习:深度学习进阶篇预训练模型2TransformerXLLongformerGPT原理模型结构等详细讲解

深度学习进阶篇-预训练模型[2]:Transformer-XL、Longformer、GPT原理、模型构造、利用场景、改良技巧等具体解说1.Transformer-XL: Attentive Language Models Beyonds a Fixed-Length Context1.1. Transformer-XL简介在正式探讨 Transformer-XL 之前,咱们先来看看经典的 Transformer(后文称 Vanilla Transformer)是如何解决数据和训练评估模型的,如图 1 所示。 图 1 Vanilla Transformer 训练和评估阶段 在数据处理方面,给定一串较长的文本串,Vanilla Transformer 会依照固定的长度(比方 512),间接将该文本串进行划分成若干 Segment。这个解决形式不会关注文本串中语句自身的边界(比方标点或段落),这样” 粗犷” 的划分通常会将一句残缺的话切分到两个 Segment 外面,导致上下文碎片化(context fragmentation)。另外,Transformer 自身可能维持的依赖长度很有可能会超出这个固定的划分长度,从而导致 Transformer 可能捕捉的最大依赖长度不超过这个划分长度,Transformer 自身达不到更好的性能。 在模型训练方面,如图 1a 所示,Vanilla Transformer 每次传给模型一个 Segment 进行训练,第 1 个 Segment 训练实现后,传入第 2 个 Segment 进行训练,然而前后的这两个 Segment 是没有任何分割的,也就是前后的训练是独立的。但事实是前后的 Segment 其实是有关联的。 在模型评估方面,如图 1b 所示,Vanilla Transformer 会采纳同训练阶段统一的划分长度,但仅仅预测最初一个地位的 token,实现之后,整个序列向后挪动一个地位,预测下一个 token。这个解决形式保障了模型每次预测都能应用足够长的上下文信息,也缓解了训练过程中的 context framentation 问题。然而每次的 Segment 都会从新计算,计算代价很大。 基于上边的这些有余,Transformer-XL 被提出来解决这些问题。它次要提出了两个技术:Segment-Level 循环机制和绝对地位编码。Transformer-XL 可能建模更长的序列依赖,比 RNN 长 80%,比 Vanilla Transformer 长 450%。同时具备更快的评估速度,比 Vanilla Transformer 快 1800 + 倍。同时在多项工作上也达到了 SoTA 的成果。 ...

May 25, 2023 · 5 min · jiezi

关于机器学习:深度学习基础入门篇序列模型11循环神经网络-RNN长短时记忆网络LSTM门控循环单元GRU原理和应用详解

深度学习根底入门篇-序列模型[11]:循环神经网络 RNN、长短时记忆网络LSTM、门控循环单元GRU原理和利用详解1.循环神经网络 RNN生存中,咱们常常会遇到或者应用一些时序信号,比方自然语言语音,自然语言文本。以自然语言文本为例,残缺的一句话中各个字符之间是有时序关系的,各个字符程序的调换有可能变成语义齐全不同的两句话,就像上面这个句子: 张三十分怄气,激动之下打了李四李四十分怄气,激动之下打了张三从以上这个例子能够看出,名字的调换造成了齐全不同的结果,可见自然语言的时序性十分重要。那么如何对这种带有时序关系的数据进行建模呢?本节咱们未来介绍一个十分经典的循环神经网络RNN,心愿这篇本文可能对读者带来一些帮忙 1.1 循环神经网络RNN是什么循环神经网络(Recurrent Neural Network,RNN)是一个十分经典的面向序列的模型,能够对自然语言句子或是其余时序信号进行建模。进一步讲,它只有一个物理RNN单元,然而这个RNN单元能够依照工夫步骤进行开展,在每个工夫步骤接管以后工夫步的输出和上一个工夫步的输入,而后进行计算得出本工夫步的输入。 上面咱们举个例子来讨论一下,如图1所示,假如咱们当初有这样一句话:”我爱人工智能”,通过分词之后变成”我,爱,人工,智能”这4个单词,RNN会依据这4个单词的时序关系进行解决,在第1个时刻解决单词”我”,第2个时刻解决单词”爱”,顺次类推。 图1 RNN网络结构图 从图1上能够看出,RNN在每个时刻$t$均会接管两个输出,一个是以后时刻的单词$x_t$,一个是来自上一个时刻的输入$h_{t-1}$,通过计算后产生以后时刻的输入$h_t$。例如在第2个时刻,它的输出是”爱”和$h_1$,它的输入是$h_2$;在第3个时刻,它的输出是”人工”和$h_2$, 输入是$h_3$,顺次类推,直到解决完最初一个单词。 总结一下,RNN会从左到右逐词浏览这个句子,并一直调用一个雷同的RNN Cell来解决时序信息,每浏览一个单词,RNN首先将本时刻$t$的单词$x_t$和这个模型外部记忆的状态向量$h_{t-1}$交融起来,造成一个带有最新记忆的状态向量$h_t$。 Tip:当RNN读完最初一个单词后,那RNN就曾经读完了整个句子,个别可认为最初一个单词输入的状态向量可能示意整个句子的语义信息,即它是整个句子的语义向量,这是一个罕用的想法。1.2 RNN的公式推导在第1节,咱们从宏观上探讨了RNN的工作原理,那么RNN外部是怎么计算的呢,即在每个时刻如何依据输出计算失去输入的呢?本节咱们来探讨这个话题。 前边咱们谈到,在每个时刻$t$,RNN会接管以后时刻的输出单词$x_t$和上一个时刻的输入状态$h_{t-1}$,而后计算失去以后时刻的输入$h_t$,在RNN中这个实现机制比较简单: $$h_t = tanh(Wx_t + Vh_{t-1}+b)$$ 即在时刻$t$,RNN单元会对两个输出$x_t$和$h_{t-1}$进行线性变换,而后将后果应用$tanh$激活函数进行解决,失去以后时刻$t$的输入$h_t$。 这里须要留神一下,tanh函数是一个值域(-1,1)的函数,如图2所示,能够长期维持外部记忆在一个固定的数值范畴内,避免因屡次迭代更新导致的数值爆炸,同时,tanh的导数是一个平滑的函数,让神经网络的训练变得更加简略。 图2 tanh函数图像 1.3 RNN的缺点上边咱们貌似提出了一个十分优良的RNN模型建模时序数据,但在实在的工作训练过程中,存在一个显著的缺点,那就是当浏览很长的序列时,网络外部的信息会逐步变得越来越简单,以至于超过网络的记忆能力,使得最终的输入信息变得凌乱无用。例如上面这句话: 我感觉这家餐馆的菜品很不错,烤鸭十分正宗,包子也不错,酱牛肉很有嚼劲,然而服务员态度太顽劣了,咱们在门口等了50分钟都没有能胜利进去,好不容易进去了,桌子也半天没人清扫,整个环境十分吵闹,我的孩子都被吓哭了,我下次不会带敌人来。显然这是个比拟长的文本序列,当RNN读到这句话时,有可能前半句还能精确地表白这句话的语义,然而读到后半句可能就齐全凌乱了,不能精确地表白这句话的语义信息,即不能放弃长期的信息之间的依赖。 因而,针对这个问题,后续呈现了很多基于RNN的改良模型,比方LSTM,GRU等等,这些在后续的章节咱们将持续探讨。 1.4 RNN的几种常见模式循环神经网络能够利用到很多不同类型的工作中,依据这些工作的的特点能够分为以下几种模式: 序列到类别模式同步的序列到序列模式异步的序列到序列模式上面咱们来进一步聊聊这几种模式,以便大家RNN适宜利用在什么样的工作上。 1.4.1序列到类别模式¶第1节咱们讲到,在RNN读完一个句子的最初一个单词后,该单词对应的输入便能够看做可能代表整个句子的语义向量,依据这个语义向量能够进一步计算一些工作,比方文本分类,假如通过这个语义向量可能将”我爱人工智能”这句话划分为”科技”类别,那这就是一个残缺的序列到类别模式的利用。 序列到类别模式是将一串输出映射为一个向量,如图3所示。在这种模式下,模型的输出是一个序列$=[x_1,x_2,x_3,..,x_n]$,最终应用的模型输入是一个向量$h_n$(图3中输入的绿色向量),能够依据这个输入向量$h_n$进一步做一些工作。 图3 序列到类别模式图 除了将最初时刻的状态作为整个序列的语义向量之外,咱们还能够对整个序列的所有状态进行均匀,并用这个均匀状态作为整个序列的语义向量,如图4所示。 图4 序列到类别模式图 1.4.2同步的序列到序列模式¶同步的序列到序列模式是将一串输出$x=[x_1,x_2,..,x_n]$映射为一串输入向量$h=[h_1,h_2,...,h_n]$,并且每个输出和输入是一一对应的,如图5所示。同步的序列到序列模式次要用于 序列标注(Sequence Labeling) 工作上。 图5 同步的序列到序列模式 以 词性标注(Part-of-Speech Tagging) 为例,该工作冀望失去一个句子中每个单词的词性,因而它的输出就是一个句子中的单词,它的输入就是每个单词对应的词性。 1.4.3异步的序列到序列模式¶异步的序列到序列模式也成为编码器-解码器模型(encoder-decoder),它同样是将一串输出映射$x=[x_1,x_2,..,x_n]$为一串输入向量$h=[h_1,h_2,...,h_m]$,然而输出序列和输入序列不要求有严格的一一对应关系,也不须要放弃雷同的长度,如图6所示。例如在机器翻译-英译汉工作中,输出为中文的单词序列,输入为英文的单词序列。 图6 异步的序列到序列模式 在这个模式下,个别先将输出序列传到一个RNN(encoder,图6橙色单元)中,而后再将encoder的输入向量作为另一个RNN(解码器,图6黄色单元)的输出,由解码器进行序列解码。在解码器的解码过程中,往往会将前一个时刻输入的单词作为以后时刻输出的单词,采纳这种自回归的形式进行解码。 援用[1] 邱锡鹏. 神经网络与深度学习[M]. 北京:机械工业出版社,2021. [2] 吴飞. 人工智能导论:模型与算法[M]. 北京:高等教育出版社,2020. 2.长短时记忆网络 LSTM长短时记忆网络(Long Short Term Memory,简称LSTM)是循环神经网络的一种,它为了解决RNN本身的缺点,向RNN单元中引入了门机制进行改善,上面咱们来看看它具体是怎么做的吧 ...

May 24, 2023 · 2 min · jiezi

关于机器学习:5-个章节25-条规范全方位-Get-数据集选择与创建的百科全书

By 超神经 内容一览:如果你正在学习如何创立或抉择一个适合的数据集,那么这篇文章会给你一些实用的倡议,帮忙你在抉择和创立数据集时做出理智的决策。 关键词:机器学习 数据集 本文首发自 HyperAI 超神经微信公众平台\~ 作者 | xixi 审校 | 三羊 一个高质量的数据集不仅能够进步模型的准确率和运行效率,还能够节俭训练工夫和算力资源。 本篇文章中,咱们参考 Jan Marcel Kezmann 的文章「The Dos and Don’ts of Dataset Selection for Machine Learning You Have to Be Aware of」,对创立和抉择数据集的形式办法进行了具体阐明,心愿帮忙各位数据迷信工程师防止陷阱、践行模型训练的最佳实际,一起来看看都有哪些 Tips 吧 浏览英文原文:https://medium.com/mlearning-ai/the-dos-and-donts-of-dataset-... 目录 抉择数据集的最佳实际留神躲避的陷阱5 个 Tips创立数据集的最佳实际数据集评估适用人群: 初学者,数据科学家,机器学习相干从业者 1. 抉择数据集的最佳实际这部分将深入探讨抉择公开数据集的最佳实际,须要牢记以下 6 个关键步骤: 1.1 了解问题了解要解决的问题十分重要,包含确定输出和输入变量、问题类型(分类、回归、聚类等)以及性能指标。 1.2 定义问题通过指定行业或畛域、须要的数据类型(文本、图像、音频等)以及数据集相干的限度条件,从而放大数据集的范畴。 1.3 关注品质寻找牢靠、精确且与问题相干的数据集。查看缺失数据、异样值和不一致性,因为这些问题可能会对模型的性能产生负面影响。 1.4 思考数据集大小数据集的大小会影响模型的准确性和泛化能力。较大的数据集尽管有助于进步模型的准确性和稳健性,但也意味着更多的计算资源和更长的训练工夫。 1.5 查看Bias数据集中的 Bias 可能会导致不偏心或不精确的预测。要留神与数据收集过程相干的 bias,例如抽样偏差,以及与社会问题相干的偏差,例如性别、种族或社会经济位置。 1.6 寻求多样性抉择不同起源、人群或地点多样化的数据集,有助于帮忙模型从各种不同的例子中学习,防止过拟合。 2. 留神躲避的陷阱本局部实用于预定义数据集及自行创立的数据集。 2.1 数据有余数据有余会导致模型无奈捕获数据中的潜在模式,从而使得性能不佳。如果没有足够的数据,能够思考借助数据加强或迁徙学习等技术,来加强数据集或模型能力。如果标签统一,能够将多个数据汇合并成一个。 2.2 不均衡的类别类别不均衡是指一个类 (class) 的样本数显著多于另一个类,这会导致预测偏差或其余模型谬误。为了解决这个问题,倡议应用过采样、欠采样或类别加权等技术。加强代表性有余的类也能够缩小这个问题。 ...

May 23, 2023 · 1 min · jiezi

关于机器学习:深度学习基础入门篇92卷积之11-卷积残差网络2D3D卷积转置卷积数学推导应用实例

深度学习根底入门篇[9.2]:卷积之1*1 卷积(残差网络)、2D/3D卷积、转置卷积数学推导、利用实例1.1*1 卷积$1\times{1}$ 卷积,与规范卷积齐全一样,惟一的非凡点在于卷积核的尺寸是$1\times{1}$ ,也就是不去思考输出数据部分信息之间的关系,而把关注点放在不同通道间。当输出矩阵的尺寸为$3\times{3}$ ,通道数也为3时,应用4个$1\times{1}$卷积核进行卷积计算,最终就会失去与输出矩阵尺寸雷同,通道数为4的输入矩阵,如 图1 所示。 图1 1*1 卷积构造示意图 $1\times{1}$ 卷积的作用实现信息的跨通道交互与整合。思考到卷积运算的输入输出都是3个维度(宽、高、多通道),所以$1\times{1}$ 卷积实际上就是对每个像素点,在不同的通道上进行线性组合,从而整合不同通道的信息。对卷积核通道数进行降维和升维,缩小参数量。通过$1\times{1}$ 卷积后的输入保留了输出数据的原有立体构造,通过调控通道数,从而实现升维或降维的作用。利用$1\times{1}$ 卷积后的非线性激活函数,在放弃特色图尺寸不变的前提下,大幅减少非线性1.1 1*1 卷积在GoogLeNet中的利用$1\times{1}$ 卷积在GoogLeNet[1]中的利用GoogLeNet是2014年ImageNet较量的冠军,它的次要特点是网络不仅有深度,还在横向上具备“宽度”。因为图像信息在空间尺寸上的微小差别,如何抉择适合的卷积核来提取特色就显得比拟艰难了。空间散布范畴更广的图像信息适宜用较大的卷积核来提取其特色;而空间散布范畴较小的图像信息则适宜用较小的卷积核来提取其特色。为了解决这个问题,GoogLeNet提出了一种被称为Inception模块的计划。如 图2 所示: 图2 Inception模块构造示意图 Inception模块的设计思维采纳多通路(multi-path)的设计模式,每个支路应用不同大小的卷积核,最终输入特色图的通道数是每个支路输入通道数的总和。如 图2(a) 所示,Inception模块应用3个不同大小的卷积核查输出图片进行卷积操作,并附加最大池化,将这4个操作的输入沿着通道维度进行拼接,形成的输入特色图将会蕴含通过不同大小的卷积核提取进去的特色,从而达到捕获不同尺度信息的成果。然而,这将会导致输入通道数变得很大,尤其是将多个Inception模块串联操作的时候,模型参数量会变得十分大。 为了减小参数量,Inception模块改良了设计形式。如 图2(b) 所示,在$3\times{3}$ 和$5\times{5}$ 的卷积层之前均减少$1\times{1}$ 的卷积层来管制输入通道数;在最大池化层前面减少$1\times{1}$ 卷积层减小输入通道数。上面这段程序是Inception块的具体实现形式,能够对照 图2(b) 和代码一起浏览。 咱们这里能够简略计算一下Inception模块中应用$1\times{1}$ 卷积前后参数量的变动,这里以 图2(a) 为例,输出通道数 $C_{in}=192$,$1\times{1}$ 卷积的输入通道数$C_{out1}=64$,$3\times{3}$ 卷积的输入通道数$C_{out2}=128$,$5\times{5}$ 卷积的输入通道数$C_{out3}=32$,则 图2(a) 中的构造所需的参数量为: $$1\times1\times192\times64+3\times3\times192\times128+5\times5\times192\times32=387072$$ 图2(b) 中在$3\times{3}$ 卷积前减少了通道数$C_{out4}=96$ 的 $1\times{1}$ 卷积,在$5\times{5}$ 卷积前减少了通道数$C_{out5}=16$ 的 $1\times{1}$ 卷积,同时在maxpooling后减少了通道数$C_{out6}=32$ 的 $1\times{1}$ 卷积,参数质变为: $$\small{ 1\times1\times192\times64+1\times1\times192\times96+1\times1\times192\times16+3\times3\times96\times128+5\times5\times16\times32 \\ +1\times1\times192\times32 =163328} $$ 可见,$1\times{1}$ 卷积能够在不扭转模型表达能力的前提下,大大减少所应用的参数量。 ...

May 22, 2023 · 6 min · jiezi

关于机器学习:常用的视频帧提取工具和方法总结

视频了解工作最根底也是最次要的预处理工作是图像帧的提取。因为在视频了解工作中,视频能够看作是由一系列间断的图像帧组成的。因而,要对视频进行了解和剖析,首先须要从视频中提取出每一帧的图像。 图像帧的提取是视频了解工作的根底,因为后续的解决和剖析都是基于独自的图像帧进行的。每一帧都代表了视频中的一个工夫点,蕴含了丰盛的视觉信息。 基于提取的图像帧,能够进行各种视频了解工作,例如行为辨认、动作检测、指标跟踪、姿势预计等。这些工作的具体实现和办法会依据工作的需要和畛域的不同而有所不同,但提取图像帧是它们独特的终点和根底。 因而,从视频中提取图像帧是视频了解工作中最根底也是最次要的预处理工作,它为后续的视频了解和剖析提供了要害的数据根底。所以本文将介绍一些罕用的工具。 FFmpegFFmpeg是一个开源的多媒体解决工具,反对多种视频格式和编解码器。FFmpeg是最罕用,也是最好用的视频工具了,它不仅能够提取图像帧,进行格局转换,还能下载m3u8的视频,所以说基本上视频的解决它都能够做。 这里咱们只介绍提取图像帧的命令,上面是应用FFmpeg提取视频帧的根本命令: ffmpeg -i input_video.mp4 -vf"select='eq(n,0)'"-vsync0 output_frame.png上述命令的各个局部性能如下: ffmpeg:命令行工具名称。-i input_video.mp4:指定输出视频文件门路和文件名。-vf "select='eq(n,0)'":指定视频过滤器。在这个例子中,应用了select过滤器来抉择帧,eq(n,0)示意只抉择第一帧。-vsync 0:禁用帧率同步,确保所有帧都被提取。output_frame.png:指定输入图像的文件名和格局。应用上述命令提取视频的第一帧,并保留为PNG格局的图像文件。你能够将命令中的 eq(n,0)局部批改为其余条件,以提取不同的帧,比方提取所有帧、按工夫距离提取帧等。 除了命令行形式,也能够应用FFmpeg的API在编程语言中进行视频帧提取。FFmpeg提供了多种编程语言的接口,如C/C++、Python、Java等,并且能够依据本人的需要抉择适宜的接口进行开发。 OpenCVOpenCV尽管不是专门为视频解决开发的,然而作为老牌的视觉库它也提供了丰盛的图像和视频解决性能,所以OpenCV库也能够进行图像帧的提取。 应用OpenCV提取视频帧的代码如下: importcv2 # 关上视频文件 video=cv2.VideoCapture('input_video.mp4') # 查看视频是否胜利关上 ifnotvideo.isOpened(): print("无奈关上视频文件") exit() frame_count=0 # 帧计数器 whileTrue: # 读取视频帧 ret, frame=video.read() # 如果视频帧读取失败,退出循环 ifnotret: break # 在这里对视频帧进行解决,如预处理、保留等 # 显示以后帧 cv2.imshow("Frame", frame) # 按下 'q' 键退出循环 ifcv2.waitKey(1) &0xFF==ord('q'): break frame_count+=1 # 开释视频对象和敞开窗口 video.release() cv2.destroyAllWindows()代码解释如下: cv2.VideoCapture('input_video.mp4'):通过VideoCapture类关上视频文件。须要将input_video.mp4替换为要提取帧的视频文件门路和文件名。video.isOpened():查看视频是否胜利关上。video.read():读取视频的下一帧。ret是布尔值,示意是否胜利读取到帧;frame是以后帧的图像数据。在代码中的正文局部,你能够依据需要对读取的视频帧进行预处理、保留或进行其余操作。cv2.imshow("Frame", frame):显示以后帧。这里只是简略地显示帧,你也能够依据需要进行其余解决。cv2.waitKey(1) & 0xFF == ord('q'):监听键盘输入,如果按下 'q' 键,则退出循环。video.release():开释视频对象。cv2.destroyAllWindows():敞开显示窗口。在上述示例中,每一帧都会被读取并显示进去。能够在适当的地位进行帧的保留或其余解决操作,也能够依据需要批改代码提取特定的帧,如按工夫距离、关键帧等。 ...

May 20, 2023 · 1 min · jiezi

关于机器学习:推荐系统系列之推荐系统概览下

在举荐零碎概览的第一讲中,咱们介绍了举荐零碎的常见概念,罕用的评估指标以及首页举荐场景的通用召回策略。本文咱们将持续介绍举荐零碎概览的其余内容,包含详情页举荐场景中的通用召回策略,排序阶段罕用的排序模型,举荐零碎的冷启动问题和举荐零碎架构,更多细节以及更具体的内容能够参考我的 Github repo。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!详情页举荐场景中的通用召回策略详情页举荐场景中的通用召回策略包含(最罕用的是前两种):基于 item 示意向量的类似度的召回;基于 item 关联规定的召回;基于 item 示意向量聚类的召回。 基于 item 示意向量的类似度的召回,常见的 item 示意办法如下:物品 item 的显式画像的示意;物品 item 的整个 embedding 向量的示意;用户-物品交互矩阵中 item 对应列向量的示意(假如用户是行,物品是列)基于 item 关联规定的召回(罕用在电商中的购物车页面举荐或者购买页面举荐中),找出所有用户购买的所有物品数据里频繁呈现的 Item 序列,来做频繁集开掘,找到满足反对度(即两个商品被同时购买的概率)阈值的关联物品。关联规定剖析中的要害概念包含:反对度 (Support),它是两件商品(A∩B)在总销售笔数 (N) 中呈现的概率,即 A 与 B 同时被购买的概率;置信度 (Confidence),它是购买 A 后再购买 B 的条件概率;晋升度 (Lift),它示意先购买 A 对购买B的概率的晋升作用,用来判断规定是否有理论价值,即应用规定后商品在购物车中呈现的次数是否高于商品独自呈现在购物车中的频率。在进行召回的时候,常常须要构建索引。对所有的用户进行索引是十分耗存储和费时的,所以在构建索引的时候,可能抉择月活用户来构建索引是适合的。在做实时召回的时候,用户的行为序列特色除了能够思考举荐业务相干的行为,还能够思考同一个利用的其余状态比方用户在搜寻业务中的行为。比方 YoutubeDNN 召回模型的特色,除了有用户最近观看过的 video id 序列 /video embedding,还有该用户最近搜寻过的 word 序列或者 word 的 embedding。作者提到退出搜寻业务的用户行为对整个成果晋升不错。有意思的中央是 YoutubeDNN 排序模型并没有把用户最近搜寻过的 word 序列或者 embedding 建模进来。 排序阶段罕用的排序模型排序阶段目前支流的都是基于传统机器学习或者深度学习的模型,排序模型的钻研始终都是举荐零碎畛域的热点,国内外大厂都在这个畛域大展拳脚。以后的排序模型有如下趋势:引入行为序列特色;引入注意力机制(比方 DIN,DIEN 等);引入多任务/多指标(比方 ESMM,MMOE,ESMM2,PLE 等);引入多模态。上面咱们介绍几个常见的简略排序模型。 LR 逻辑回归模型,它是 CTR 预估排序工作晚期应用最多的模型。LR 的预测函数如下: ...

May 19, 2023 · 2 min · jiezi

关于机器学习:OpenAI-和谷歌最怕的是一张开源笑脸

「咱们没有护城河,OpenAI 也没有。」 在最近泄露的一份文件中,一位谷歌外部的钻研人员表白了这样的观点。这位钻研人员认为,在这场强烈的 AI 比赛中,尽管谷歌与 OpenAI 在你追我赶,但真正的赢家未必会在这两家中产生,因为有股第三方力量正在崛起。 这个力量就是「开源社区」,它才是谷歌和 OpenAI 最大的敌人。 而开源社区的顶流,当属 Hugging Face 了。作为一个 AI 畛域的 Github,它提供了大量高质量的开源模型与工具,将研发成绩最大水平地惠及社区,极大地升高了 AI 的技术门槛,推动了 AI 的「民主化」过程。 它的创始人之一,Clément 还曾公开示意:「在 NLP 或者机器学习畛域,最坏的状况,就是要与整个科学界和开源界竞争。因而,咱们不再试图竞争,转而抉择为开源界和科学界赋能。」 Hugging Face 创建于 2016 年,几年间连获 5 轮融资,目前估值曾经飙到 20 亿美元,Github 上的星标数量曾经超过了 9.8w,稳居热门资源库之列。 那么这家公司是做什么的?是如何逆袭成为开源界的「顶流」的? 它的倒退模式又是怎么的呢? 1,NLP 开启逆袭之路Hugging Face 是一家以自然语言解决 (NLP) 技术为外围的 AI 初创公司。 它是由法国间断创业者 Clément Delangue(曾开办笔记平台 VideoNot.es,媒体监测平台 mention 以及被 Google 收买的挪动开发平台 Moodstocks 等我的项目)和 Thomas Wolf、Julien Chaumond 一起开办的,于 2016 年成立,总部设在美国纽约。其中的两位创始人 Clément Delangue 和 Thomas Wolf 都是自然语言解决畛域的专家。在一直推动 Hugging Face 的倒退的过程中,他们被视为当代 NLP 畛域的先锋。 ...

May 18, 2023 · 3 min · jiezi

关于机器学习:Python3入门机器学习-经典算法与应用-轻松入行人工智能仙人占斗客槎轻

download:Python3入门机器学习 经典算法与利用 轻松入行人工智能自然语言解决(NLP):计算机如何了解人类语言自然语言解决是一种人工智能技术,旨在使计算机可能了解、剖析和生成人类语言。它涵盖了从语音辨认到文本处理的各个方面,并且在多个畛域中都失去广泛应用。本文将介绍自然语言解决的概念、常见利用以及将来发展趋势。 自然语言解决的概念自然语言解决是一种波及计算机科学、语言学和心理学等多个学科的穿插畛域。它的指标是使计算机可能了解人类语言并进行有意义的交互。自然语言解决次要包含以下几个方面: 语音辨认:将人类语音转换为文本格式。 语言了解:解析文本内容,提取其中的实体、关系和事件等信息。 机器翻译:将一种语言翻译成另一种语言。 情感剖析:剖析文本中的情感,以判断其情绪状态。 文本生成:应用模型生成新的文本。 自然语言解决的利用自然语言解决曾经在多个畛域中失去了广泛应用。以下是一些常见的利用场景: 智能客服:应用自然语言解决技术来解决客户的问题,并提供个性化倡议。 智能家居:应用语音辨认技术来管制家庭设备,如智能音箱、智能灯光等。 机器翻译:将不同语言的文本进行翻译,以便跨语言交换。 舆情监测:对社交媒体和新闻网站中的评论和文章进行情感剖析,从而理解公众对某个话题的认识。 自然语言解决的将来发展趋势随着人工智能技术的不断进步,自然语言解决也将会迎来更多的倒退机会。以下是一些可能的将来趋势: 更加智能化的语音辨认技术:随着深度学习技术的倒退,语音辨认技术将变得更加精确和智能化。 更加精密的文本了解技术:自然语言解决技术将逐步可能了解更加简单的文本构造,如上下文和语境等。 更加实用的利用场景:自然语言解决技术将被利用到更多的畛域中,如医疗、法律和金融等。 结语自然语言解决技术是人工智能畛域中的重要分支,它为计算机了解和解决人类语言提供了根底。随着技术的不断进步,自然语言解决将会变得更加智能化和实用化。置信将来它会在更多的畛域中失去广泛应用。

May 18, 2023 · 1 min · jiezi

关于机器学习:数据挖掘实践金融风控金融风控之贷款违约预测挑战赛下篇xgbootslightgbmCatboost等模型

数据挖掘实际(金融风控):金融风控之贷款守约预测挑战赛(下篇)[xgboots/lightgbm/Catboost等模型]--模型交融:stacking、blending相干文章: 数据挖掘实际(金融风控):金融风控之贷款守约预测挑战赛(上篇) 数据挖掘机器学习专栏 4.建模与调参我的项目链接以及码源见文末4.1 模型比照与性能评估4.1.1 逻辑回归长处 训练速度较快,分类的时候,计算量仅仅只和特色的数目相干;简略易了解,模型的可解释性十分好,从特色的权重能够看到不同的特色对最初后果的影响;适宜二分类问题,不须要缩放输出特色;内存资源占用小,只须要存储各个维度的特征值;毛病 逻辑回归须要事后解决缺失值和异样值【可参考task3特色工程】;不能用Logistic回归去解决非线性问题,因为Logistic的决策面是线性的;对多重共线性数据较为敏感,且很难解决数据不均衡的问题;准确率并不是很高,因为模式非常简单,很难去拟合数据的实在散布;4.1.2 决策树模型长处 简略直观,生成的决策树能够可视化展现数据不须要预处理,不须要归一化,不须要解决缺失数据既能够解决离散值,也能够解决间断值毛病 决策树算法非常容易过拟合,导致泛化能力不强(可进行适当的剪枝)采纳的是贪婪算法,容易失去部分最优解4.1.3 集成模型集成办法(ensemble method)通过组合多个学习器来实现学习工作,通过集成办法,能够将多个弱学习器组合成一个强分类器,因而集成学习的泛化能力个别比繁多分类器要好。 集成办法次要包含Bagging和Boosting,Bagging和Boosting都是将已有的分类或回归算法通过肯定形式组合起来,造成一个更加弱小的分类。两种办法都是把若干个分类器整合为一个分类器的办法,只是整合的形式不一样,最终失去不一样的成果。常见的基于Baggin思维的集成模型有:随机森林、基于Boosting思维的集成模型有:Adaboost、GBDT、XgBoost、LightGBM等。 Baggin和Boosting的区别总结如下: 样本抉择上: Bagging办法的训练集是从原始集中有放回的选取,所以从原始集中选出的各轮训练集之间是独立的;而Boosting办法须要每一轮的训练集不变,只是训练集中每个样本在分类器中的权重发生变化。而权值是依据上一轮的分类后果进行调整样例权重上: Bagging办法应用平均取样,所以每个样本的权重相等;而Boosting办法依据错误率一直调整样本的权值,错误率越大则权重越大预测函数上: Bagging办法中所有预测函数的权重相等;而Boosting办法中每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重并行计算上: Bagging办法中各个预测函数能够并行生成;而Boosting办法各个预测函数只能程序生成,因为后一个模型参数须要前一轮模型的后果。4.1.4 模型评估办法对于模型来说,其在训练集下面的误差咱们称之为训练误差或者教训误差,而在测试集上的误差称之为测试误差。 对于咱们来说,咱们更关怀的是模型对于新样本的学习能力,即咱们心愿通过对已有样本的学习,尽可能的将所有潜在样本的普遍规律学到手,而如果模型对训练样本学的太好,则有可能把训练样本本身所具备的一些特点当做所有潜在样本的广泛特点,这时候咱们就会呈现过拟合的问题。 因而咱们通常将已有的数据集划分为训练集和测试集两局部,其中训练集用来训练模型,而测试集则是用来评估模型对于新样本的判断能力。 对于数据集的划分,咱们通常要保障满足以下两个条件: 训练集和测试集的散布要与样本实在散布统一,即训练集和测试集都要保障是从样本实在散布中独立同散布采样而得;训练集和测试集要互斥对于数据集的划分有三种办法:留出法,穿插验证法和自助法,上面挨个介绍: ①留出法 留出法是间接将数据集D划分为两个互斥的汇合,其中一个汇合作为训练集S,另一个作为测试集T。须要留神的是在划分的时候要尽可能保障数据分布的一致性,即防止因数据划分过程引入额定的偏差而对最终后果产生影响。为了保障数据分布的一致性,通常咱们采纳分层采样的形式来对数据进行采样。 Tips: 通常,会将数据集D中大概2/3~4/5的样本作为训练集,其余的作为测试集。 ②穿插验证法 k折穿插验证通常将数据集D分为k份,其中k-1份作为训练集,残余的一份作为测试集,这样就能够取得k组训练/测试集,能够进行k次训练与测试,最终返回的是k个测试后果的均值。穿插验证中数据集的划分仍然是根据分层采样的形式来进行。 对于穿插验证法,其k值的选取往往决定了评估后果的稳定性和保真性,通常k值选取10。 当k=1的时候,咱们称之为留一法 ③自助法 咱们每次从数据集D中取一个样本作为训练集中的元素,而后把该样本放回,反复该行为m次,这样咱们就能够失去大小为m的训练集,在这外面有的样本反复呈现,有的样本则没有呈现过,咱们把那些没有呈现过的样本作为测试集。 进行这样采样的起因是因为在D中约有36.8%的数据没有在训练集中呈现过。留出法与穿插验证法都是应用分层采样的形式进行数据采样与划分,而自助法令是应用有放回反复采样的形式进行数据采样 数据集划分总结 对于数据量短缺的时候,通常采纳留出法或者k折穿插验证法来进行训练/测试集的划分;对于数据集小且难以无效划分训练/测试集时应用自助法;对于数据集小且可无效划分的时候最好应用留一法来进行划分,因为这种办法最为精确4.1.5 模型评估规范对于本次较量,咱们选用auc作为模型评估规范,相似的评估规范还有ks、f1-score等,具体介绍与实现大家能够回顾下task1中的内容。 一起来看一下auc到底是什么? 在逻辑回归外面,对于正负例的界定,通常会设一个阈值,大于阈值的为正类,小于阈值为负类。如果咱们减小这个阀值,更多的样本会被辨认为正类,进步正类的识别率,但同时也会使得更多的负类被谬误辨认为正类。为了直观示意这一景象,引入ROC。 依据分类后果计算失去ROC空间中相应的点,连贯这些点就造成ROC curve,横坐标为False Positive Rate(FPR:假正率),纵坐标为True Positive Rate(TPR:真正率)。 个别状况下,这个曲线都应该处于(0,0)和(1,1)连线的上方,如图: ROC曲线中的四个点: 点(0,1):即FPR=0, TPR=1,意味着FN=0且FP=0,将所有的样本都正确分类;点(1,0):即FPR=1,TPR=0,最差分类器,避开了所有正确答案;点(0,0):即FPR=TPR=0,FP=TP=0,分类器把每个实例都预测为负类;点(1,1):分类器把每个实例都预测为正类总之:ROC曲线越靠近左上角,该分类器的性能越好,其泛化性能就越好。而且一般来说,如果ROC是润滑的,那么根本能够判断没有太大的overfitting。 然而对于两个模型,咱们如何判断哪个模型的泛化性能更优呢?这里咱们有次要以下两种办法: 如果模型A的ROC曲线齐全包住了模型B的ROC曲线,那么咱们就认为模型A要优于模型B; 如果两条曲线有穿插的话,咱们就通过比拟ROC与X,Y轴所围得曲线的面积来判断,面积越大,模型的性能就越优,这个面积咱们称之为AUC(area under ROC curve) 4.2代码实战import pandas as pdimport numpy as npimport warningsimport osimport seaborn as snsimport matplotlib.pyplot as plt"""sns 相干设置@return:"""# 申明应用 Seaborn 款式sns.set()# 有五种seaborn的绘图格调,它们别离是:darkgrid, whitegrid, dark, white, ticks。默认的主题是darkgrid。sns.set_style("whitegrid")# 有四个预置的环境,按大小从小到大排列别离为:paper, notebook, talk, poster。其中,notebook是默认的。sns.set_context('talk')# 中文字体设置-黑体plt.rcParams['font.sans-serif'] = ['SimHei']# 解决保留图像是负号'-'显示为方块的问题plt.rcParams['axes.unicode_minus'] = False# 解决Seaborn中文显示问题并调整字体大小sns.set(font='SimHei')reduce_mem_usage 函数通过调整数据类型,帮忙咱们缩小数据在内存中占用的空间 ...

May 17, 2023 · 15 min · jiezi

关于机器学习:使用Paddle进行图像分类教程

最近学习简略钻研了一下python机器学习相干常识,写一个博客也是对本人近期学习的总结吧,内容比拟通俗大佬勿喷 在本教程中,咱们将应用PaddlePaddle框架进行图像分类。咱们将应用CIFAR-10数据集,该数据集蕴含10个不同类别的图像。咱们将通过构建一个卷积神经网络(CNN)模型来对这些图像进行分类。让咱们一步一步地来实现这个工作。 步骤 1:导入所需的包首先,咱们须要导入所需的包,这些包包含paddle、paddle.fluid、numpy、PIL和matplotlib.pyplot。请确保您曾经装置了这些包,如果没有,请先进行装置。 import paddle as paddleimport paddle.fluid as fluidimport numpy as npfrom PIL import Imageimport matplotlib.pyplot as pltimport os步骤 2:下载数据集接下来,咱们须要下载CIFAR-10数据集,以便用于训练和测试。请留神,这段代码在正文块中,因而须要勾销正文能力执行。如果您曾经下载了数据集,能够跳过这一步。 '''!mkdir -p /home/aistudio/.cache/paddle/dataset/cifar/!wget "http://ai-atest.bj.bcebos.com/cifar-10-python.tar.gz" -O cifar-10-python.tar.gz!mv cifar-10-python.tar.gz /home/aistudio/.cache/paddle/dataset/cifar/!ls -a /home/aistudio/.cache/paddle/dataset/cifar/'''步骤 3:定义数据提供器咱们须要定义数据提供器来加载训练和测试数据。在这里,咱们应用paddle.batch函数对数据进行批处理,并应用paddle.reader.shuffle函数对训练数据进行随机打乱。 BATCH_SIZE = 128# 用于训练的数据提供器train_reader = paddle.batch( paddle.reader.shuffle(paddle.dataset.cifar.train10(), buf_size=128*100), batch_size=BATCH_SIZE) # 用于测试的数据提供器test_reader = paddle.batch( paddle.dataset.cifar.test10(), batch_size=BATCH_SIZE) 步骤 4:定义卷积神经网络模型咱们将应用一个卷积神经网络(CNN)模型对图像进行分类。在这个示例中,咱们应用了三个卷积-池化层和一个全连贯层。每个卷积-池化层都应用ReLU激活函数和批归一化(Batch Normalization)。 def convolutional_neural_network(img): # 第一个卷积-池化层 conv_pool_1 = fluid.nets.simple_img_conv_pool( input=img, filter_size=5, num_filters=20, pool_size=2, pool_stride=2, act="relu") conv_pool_1 = fluid.layers.batch_norm(conv_pool_1) # 第二个卷积-池化层 conv_pool_2 = fluid.nets.simple_img_conv_pool( input=conv_pool_1, filter_size=5, num_filters=50, pool_size=2, pool_stride=2, act="relu") conv_pool_2 = fluid.layers.batch_norm(conv_pool_2) # 第三个卷积-池化层 conv_pool_3 = fluid.nets.simple_img_conv_pool( input=conv_pool_2, filter_size=5, num_filters=50, pool_size=2, pool_stride=2, act="relu") # 全连贯层,输入10个类别 prediction = fluid.layers.fc(input=conv_pool_3, size=10, act='softmax') return prediction步骤 5:定义输出数据和模型预测咱们须要定义输出数据和模型预测。在这里,咱们应用fluid.layers.data定义图像数据和标签的输出。而后,咱们调用之前定义的卷积神经网络模型convolutional_neural_network进行预测。 ...

May 16, 2023 · 4 min · jiezi

关于机器学习:面对失业焦虑我们可以做些什么让-AI-帮助自己变得更强大

我从 2007 年大学毕业加入工作至今,曾经在软件开发这个岗位上工作 16 年了。这十六年来我也算经验过一些新的技术浪潮的洗礼吧。我工作的 SAP 是欧洲最大也是最胜利的软件公司之一,次要的深耕畛域是企业管理软件。我也经验了从本地部署软件(On-Premises)到云原生利用这种开发思维和理念的转变,也亲自领会到了 Docker 和 Kubernetes 等虚拟化技术给开发人员带来的切切实实的便捷和工作效率的晋升。但这些,都远远没有今年年初以 ChatGPT 为代表的一系列 AI 技术让我感到震撼。 SAP 其实也早已公布了面向企业级用户的与某一细分畛域和业务紧耦合的 AI 服务,这些 AI 服务部署在 SAP 本人的 BTP 云平台上,因为指标用户不是 2C 的集体群体,所以不像 ChatGPT 这样为一般公众所知。 只管有业界不少大佬也收回了诸如 三年之后 AI 将终结编程 这种舆论,但我这个人生性比拟乐观,就算有一天 AI 真的会终结绝大多数程序员,只剩下极少数的算法工程师,那我也要尽可能在 AI 终结我之前,充分利用 AI 让本人变得更弱小。 我之所以会有这种绝对乐观的想法,是因为应用 ChatGPT 等一系列 AI 产品这几个月,我发现自己的工作和学习效率都比以前有进一步的晋升。 对于程序员来说,大家想必都习惯了通过 ChatGPT 来生成代码,而后本人手动稍加调整,这样能在极短的工夫内失去能够运行的代码。除了这种最惯例的操作之外,本文想分享一些笔者在日常工作中是如何应用 ChatGPT 等 AI 工具进步本人工作效率的例子。 为代码生成对应的单元测试代码应用的 ChatGPT prompt:为上面这个<语言>实现的代码,编写对应的单元测试代码,而后将要生成单元测试的代码喂给 ChatGPT: ChatGPT 会主动生成单元测试代码,咱们能够在这些根底上,进行人工审查而后批改。 利用 ChatGPT 帮忙本人研读经典框架的源代码比方我是一个 Angular 开发人员,简直每天都要和其规范库里的 HttpClient 工具库打交道。 假如我对其 request 办法感兴趣,想浏览其源代码,然而对于外面个别语句不甚了解: ...

May 16, 2023 · 2 min · jiezi

关于机器学习:什么是人工智能模型的涌现特性

涌现个性(Emergent property)是指在一个简单零碎中,一些新的、意想不到的个性逐步显现出来,这些个性在零碎的各个组成部分中并不存在。在人工智能(AI)模型中,涌现个性通常是指模型通过大量数据训练后,展现出一些在训练数据中没有明确批示的能力或行为。 对于人工智能模型,涌现个性通常是由以下几个因素独特作用产生的: 大量的训练数据:人工智能模型通常须要大量的训练数据来学习潜在的法则和特色。在这个过程中,模型可能会学到一些在单个数据点中看不到的全局信息。模型的复杂性:简单的模型具备更多的参数,能够捕捉到数据中的简单构造和法则。因而,简单模型更可能产生涌现个性。训练方法和优化算法:训练方法和优化算法的抉择也可能影响模型的涌现个性。一些办法可能会导致模型学到一些在训练数据中没有明确呈现的法则。在人工智能畛域,涌现个性可能会带来一些乏味的景象和利用。例如,神经网络在图像识别工作中可能会学会主动地提取边缘、纹理等底层特色,这些特色在训练数据中并没有明确给出。然而,涌现个性也可能导致一些不稳固的行为,比方模型在未知的输出上体现出意外的反馈。因而,在钻研和开发人工智能模型时,须要关注并理解模型的涌现个性,以确保模型的稳定性和可靠性。 涌现个性在人工智能畛域中十分常见,例如在深度学习中,咱们能够应用多层神经网络来建模简单的非线性函数关系。每个神经元只能执行简略的计算,然而当它们组合在一起时,就能够实现高度简单的计算和预测工作。 另一个例子是在群体智能畛域,钻研人员应用多个简略的智能体来模仿整个群体的行为,这些智能体之间通过部分信息共享和合作来实现全局的指标。这种模仿能够产生出非常复杂的群体行为,例如蚁群算法和粒子群优化算法等。 总之,涌现个性能够使人工智能模型在解决简单问题时变得更加无效和高效,这也是人工智能畛域目前十分受关注的一个钻研方向。

May 16, 2023 · 1 min · jiezi

关于机器学习:什么是人工智能领域的深度学习

深度学习是人工智能畛域的一个重要分支,它是机器学习的一个子集,专一于构建和训练神经网络。深度学习算法试图模仿人脑的工作原理,从大量原始数据中学习简单的特色和模式。这种学习办法使得机器可能在许多工作中实现类人的性能,如图像识别、自然语言解决、语音辨认等。 深度学习的外围是人工神经网络(Artificial Neural Networks,ANNs)。这些网络由许多层组成,每一层都蕴含许多神经元。神经元之间通过权重相互连接,这些权重在训练过程中不断更新以优化网络的性能。深度学习的“深度”一词来源于这些网络的层数。深度神经网络能够主动从数据中学习特色示意,无需手动设计特征提取器。 深度学习的倒退得益于以下几个关键因素: 大量数据:深度学习须要大量的训练数据来学习模式和特色。随着互联网的遍及,咱们能够轻易地获取大量的图像、文本、声音等数据,为深度学习的倒退提供了燃料。计算能力:深度学习须要大量的计算资源来训练简单的神经网络。过来十年,图形处理器(Graphics Processing Units,GPUs)和定制硬件(如谷歌的Tensor Processing Units,TPUs)的呈现,使得深度学习算法能在正当的工夫内实现训练。算法翻新:在过来的几十年里,钻研人员提出了许多新鲜的神经网络架构和训练技巧,如卷积神经网络(Convolutional Neural Networks,CNNs)、循环神经网络(Recurrent Neural Networks,RNNs)和长短时记忆网络(Long Short-Term Memory,LSTM)。这些翻新使得深度学习在许多工作上获得了显著的性能晋升。以下是几个深度学习在理论利用中的例子: 计算机视觉计算机视觉是深度学习的一个重要应用领域,涵盖了图像识别、指标检测和跟踪等多个子畛域。例如,深度学习在图像识别工作中的体现曾经超过了人类的程度,谷歌的Inception模型和Facebook的ResNet模型都在ImageNet数据集上获得了优于人类的性能。此外,深度学习还广泛应用于主动驾驶汽车的环境感知、无人机的自主导航等畛域。在这些利用中,计算机视觉技术能够实时检测和剖析图像数据,帮忙机器更好地了解周围环境。 语音辨认深度学习在语音辨认畛域也获得了显著的停顿。通过深度学习模型,计算机能够自动识别和转录人类的语音,从而实现语音助手、主动字幕生成等利用。例如,苹果的Siri、谷歌助手和亚马逊的Alexa等智能语音助手都采纳了深度学习技术,以进步语音辨认的准确性和自然语言了解的能力。 自然语言解决自然语言解决(NLP)是人工智能畛域的另一个重要利用,波及对人类语言的了解和生成。深度学习在NLP畛域的利用包含机器翻译、文本摘要、情感剖析等。例如,谷歌翻译采纳了深度学习模型,可能在133种语言之间进行高质量的翻译。同样,OpenAI的GPT-3模型也展现了在问答、摘要、写作等工作上的杰出体现。这些利用不仅能够帮忙人们更好地交换和了解信息,还能够进步生产力和发明新的商业机会。

May 16, 2023 · 1 min · jiezi

关于机器学习:FATE联邦学习高度costumized定制联邦学习的所有组件-costumize-all所有步骤

应用本人的数据集homo场景: https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu...hetero场景:https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu... 速记:在federatedml/nn/dataset退出本人的数据集.py 应用本人的模型homo场景:https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu...hetero须要自定义upper layer和bottom layer的模型,所以自带customization。 速记:在federatedml/nn/model_zoo退出本人的模型.py 应用本人的losshttps://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu... 本人管制训练过程homo场景 basic:https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu...homo场景高度定制:https://fate.readthedocs.io/en/latest/tutorial/pipeline/nn_tu...

May 15, 2023 · 1 min · jiezi

关于机器学习:数据信息汇总的7种基本技术总结

数据汇总是一个将原始数据简化为其次要成分或特色的过程,使其更容易了解、可视化和剖析。本文介绍总结数据的七种重要办法,有助于了解数据本质的内容。 1、集中趋势:平均值,中位数,众数集中趋势是一种统计测量,目标是确认最典型的个体,找到最可能代表整个组的单个数值。它能够提供对数据集中“典型”数据点的精确形容。集中趋势的三个次要度量是平均值、中位数和众数。 平均值:通过将数据集中的所有数据点相加,而后除以数据点的数量来计算平均值。 中位数:中位数是数据集的两头点。要找到中位数,必须首先按量级(升序或降序)对数据进行排序。如果数据集蕴含奇数个观测值,则中位数为两头值。如果有偶数个观测值,中位数是两个两头值的平均值。 众数:众数是数据集中呈现频率最高的值。数据集能够有一个众数(单峰),两个众数(双峰),或多个众数(多峰)。 了解集中趋势有助于建设一个“典型”值,作为数据的有用总结。 2、离散度:范畴,方差,标准差 集中趋势的度量能够为数据提供一个摘要,而离散度的度量则形容了数据点的散布。它们提供了对数据集内可变性的洞察。掂量离散度的要害指标包含范畴、方差和标准差。 范畴:范畴是最简略的离散度量。它是数据集中的最大值减去最小值来计算的。 方差:方差是掂量数据集中的数据点与均值相差多少的指标。它是通过取平均值的平方差的平均值来计算的。 标准差:标准差是方差的平方根。它掂量每个数据点与平均值之间的均匀间隔。它用与数据雷同的单位示意,所以特地有用。 了解离散度对于掂量数据的可靠性至关重要。高离散度表明数据的高度可变性。 3、偏度和峰度偏度和峰度是掂量数据分布形态的两个重要指标。 偏度:偏度掂量数据分布的不对称性。正偏斜示意右尾长的散布,而负偏斜示意左尾长的散布。零偏度示意齐全对称的散布。 峰度:峰度掂量散布的“尾部”。顶峰度示意具备重尾和尖峰(leptokurtic)的散布,而低峰度示意具备轻尾战争峰(platykurtic)的散布。正态分布的峰度为零(中峰态)。 理解数据分布的偏度和峰度能够为理解数据可变性的实质提供有价值的见解。偏度能够批示数据中的潜在异样值或异样,而峰度能够表明数据是重尾还是轻尾,这会影响某些统计分析。 4、相关性和协方差相关性和协方差是形容数据集中两个变量之间关系的两种度量。 相关性:相关性掂量两个变量之间线性关系的强度和方向。它的范畴从-1到1,其中1示意齐全正相干,-1示意齐全负相关,0示意没有线性关系。 协方差:协方差是掂量两个变量一起变动的水平。与相关性不同,协方差不掂量关系的强度,其值不受约束,因而比相关性更难解释。 这两个度量对于了解数据中不同变量之间的关系至关重要,这有助于预测建模和其余统计分析。 5、百分位数和四分位数百分位数和四分位数是绝对位置的衡量标准,能够更深刻地理解数据集的散布。 百分位数:百分位数示意数据集中有多少察看值低于该值。例如,第 20 个百分位数是低于该值的 20% 的观测值。 四分位数:四分位数将排序数据集分成四个相等的局部。第一个四分位数 (Q1) 是第 25 个百分位数,第二个四分位数 (Q2) 是中位数或第 50 个百分位数,第三个四分位数 (Q3) 是第 75 个百分位数。 百分位数和四分位数对于理解数据的散布、辨认异样值以及比拟不同的数据点或数据集特地有用。 6、箱线图和直方图箱线图和直方图是用于汇总数据的图形办法。 箱线图:箱线图(或箱型图)提供数据集中最小值、第一四分位数、中位数、第三四分位数和最大值的可视化摘要。它还能够批示数据中的异样值。所以箱线图非常适合比拟不同组之间的散布。 直方图:直方图是数据集散布的图形示意。它是对连续变量概率分布的预计。直方图通过批示位于值范畴内的数据点数量(称为箱)来提供数字数据的直观解释。 这些图形办法容许疾速、直观地了解数据,使它们成为数据分析的贵重工具。 7、穿插制表穿插表是一种罕用的分类汇总数据的办法。它创立了一个显示变量频率散布的列联表。通过穿插表能够察看两个或多个分类变量之间关系的统计显着性。 穿插表在市场钻研或任何其余应用考察或问卷的钻研中特地有用。它们提供了两个或多个变量之间互相关系的根本图景,能够帮忙找到它们之间的相互作用。 总结对数据进行总结是数据分析过程中至关重要的一步。它提供了对数据集的全面了解,揭示了在原始的、未解决的数据中可能不显著的模式、关系和见解。本文形容的七种办法都提供了对数据的不同视角,提供了一个全面的总结,能够为决策提供信息。 https://avoid.overfit.cn/post/3aeec64b87c247cd9eb3d2a340df96ce

May 15, 2023 · 1 min · jiezi

关于机器学习:机器学习指标-F1分数

动动发财的小手,点个赞吧! F1 score 简介在本文中,您将理解 F1 分数。 F1 分数是一种机器学习指标,可用于分类模型。只管分类模型存在许多指标,但通过本文,您将理解 F1 分数的计算形式以及何时应用它有附加价值。 f1 分数是对两个更简略的性能指标的改良倡议。因而,在深刻理解 F1 分数的细节之前,让咱们概述一下 F1 分数背地的那些指标。 Accuracy准确性是分类模型的一个指标,它掂量正确预测的数量占所做预测总数的百分比。例如,如果你的预测有 90% 是正确的,那么你的准确率就是 90%。 仅当您的分类中的类别散布均等时,准确性才是有用的指标。这意味着,如果您有一个用例,在该用例中察看到一个类的数据点多于另一个类的数据点,则准确性不再是有用的指标。让咱们看一个例子来阐明这一点: 不均衡数据示例假如您正在解决网站的销售数据。您晓得 99% 的网站访问者不购买,只有 1% 的访问者购买。您正在构建一个分类模型来预测哪些网站访问者是买家,哪些只是浏览者。 当初设想一个成果不佳的模型。它预测 100% 的访问者只是观看者,而 0% 的访问者是购买者。这显然是一个十分谬误和无用的模型。 当你有类不均衡时,准确性不是一个好的指标。如果咱们在这个模型上应用精度公式会产生什么?您的模型仅预测了 1% 谬误:所有买家都被谬误分类为看客。因而,正确预测的百分比为 99%。这里的问题是 99% 的准确率听起来不错,而你的模型体现很差。总之:当你有类别不均衡时,准确性不是一个好的衡量标准。 通过重采样解决不均衡数据解决类别不均衡问题的一种办法是解决您的样本。应用特定的采样办法,您能够以数据不再不均衡的形式对数据集进行从新采样。而后您能够再次应用准确性作为指标。 通过指标解决不均衡数据解决类不均衡问题的另一种办法是应用更好的准确性指标,如 F1 分数,它不仅思考了模型预测谬误的数量,还思考了所犯错误的类型。 F1 分数的根底Precision 和 Recall 是思考到类不均衡的两个最常见的指标。它们也是F1问题的根底!在将它们组合到下一部分的 F1 分数之前,让咱们更好地理解 Precision 和 Recall。 Precision精度是 F1 分数的第一局部。它也能够用作独自的机器学习指标。它的公式如下所示: 您能够按如下形式解释此公式。在预测为正的所有内容中,精度计算正确的百分比: 一个不准确的模型可能会发现很多阳性,但它的抉择办法是有乐音的:它也会谬误地检测到许多实际上不是阳性的阳性。一个准确的模型是十分“纯正”的:兴许它没有找到所有的积极因素,但模型分类为踊跃的那些很可能是正确的。Recall召回率是 F1 分数的第二个组成部分,只管召回率也能够用作独自的机器学习指标。召回公式如下所示: 您能够按如下形式解释此公式。在所有理论踊跃的事物中,模型胜利找到了多少: 具备高召回率的模型能够很好地找到数据中的所有正例,即便它们也可能谬误地将一些负例辨认为正例。召回率低的模型无奈找到数据中的所有(或大部分)阳性病例。本文由mdnice多平台公布

May 14, 2023 · 1 min · jiezi

关于机器学习:使用RobustPCA-进行时间序列的异常检测

鲁棒主成分剖析(Robust Principal Component Analysis, RobustPCA)是一种将工夫序列矩阵合成为低秩重量和稠密重量的技术。这种合成可能辨认潜在的趋势,以及检测异样和异样值。在本中咱们将钻研RobustPCA的数学根底,介绍它与传统的PCA之间的区别,并提供可视化来更好地了解它在工夫序列预测和异样检测中的利用。 RobustPCA 的数学根底RobustPCA是经典主成分剖析(PCA)的扩大,它能够通过捕捉主成分来找到高维数据的低维示意。经典PCA对异样值敏感,在噪声存在时可能体现不佳。而RobustPCA通过将工夫序列矩阵合成为两个组件来解决这个问题:捕捉潜在趋势的低秩组件和解释异样值的稠密组件。 在给定一个工夫序列矩阵X, RobustPCA合成可示意为: X = L + S 这里的,L为低秩重量,S为稠密重量。 RobustPCA解决了以下优化问题来寻找L和S: 这里的||L||*示意L的核范数(即其奇怪值的和),||S||_1示意S的L1范数(即其元素的绝对值的和),是一个正则化参数,用于均衡低秩重量和稠密重量之间的衡量。 RobustPCA 与传统PCA的区别RobustPCA和传统的PCA(Principal Component Analysis)都是用于矩阵合成的技术,但它们在解决数据中蕴含噪声和异样值时的体现有所不同。 传统PCA是一种线性变换技术,用于将高维数据集投影到低维子空间中,以便更好地了解和剖析数据。传统PCA假如数据中的每个观测值都遵从高斯分布,这意味着在存在异样值或噪声的状况下,传统PCA的性能会受到影响。 而RobustPCA在数据蕴含噪声和异样值时体现更好,因为它可能将数据合成为低秩和稠密成分。这使得RobustPCA在许多利用中比传统PCA更具备实用价值。例如,RobustPCA能够用于在图像和视频中检测和移除噪声和异样值,而传统PCA则可能会将噪声和异样值谬误地归因于数据的根本构造。 另一个区别是,传统PCA是一个凸优化问题,能够通过求解特征值合成来间接求解,而RobustPCA是一个非凸优化问题,须要应用迭代算法(例如交替方向乘子法ADMM)来求解。此外传统PCA通常对数据进行中心化解决,而RobustPCA能够解决未中心化的数据。 RobustPCA应用示例在Python中,robust_pca包提供了一个易于应用的基于ADMM算法的RobustPCA实现。 上面是一个应用robust_pca包来合成工夫序列矩阵X的例子: import numpy as np from robust_pca import RobustPCA # Create a sample time series matrix X np.random.seed(42) X = np.random.randn(100, 10) # Perform RobustPCA decomposition rpca = RobustPCA(lam=0.1) L, S = rpca.fit_transform(X)为了更好地了解RobustPCA合成,咱们能够可视化原始工夫序列矩阵X、低秩重量L和稠密重量s。这种可视化能够帮忙咱们评估RobustPCA在从异样值和噪声中拆散潜在趋势方面的有效性。 在下面的例子中,咱们能够看到低秩重量L捕捉了平滑趋势,而稠密重量S隔离了异样值和噪声。 RobustPCA的利用鲁棒主成分剖析能够利用于宽泛的工夫序列预测和异样检测工作,包含: 金融市场剖析:RobustPCA可用于剖析高维金融工夫序列数据,如股票价格、交易量和经济指标。通过将数据合成为低秩和稠密的组件,咱们能够辨认趋势和异样,为投资决策和危险管理策略提供信息。 能源需求预测:RobustPCA能够通过捕获数据中的潜在趋势和季节性来帮忙预测能源需求,同时思考极其天气事件或设施故障造成的异样值。 传感器数据分析:在工业利用中,RobustPCA可用于剖析传感器数据,检测可能表明设施故障或其余问题的异常情况。 总结鲁棒主成分剖析(Robust Principal Component Analysis, RobustPCA)是一种将工夫序列矩阵合成为低秩重量和稠密重量的弱小技术。这种合成容许在存在噪声和异样值的状况下进行更精确的趋势预计和异样检测,在迷信和工程的各个领域中具备许多理论利用。 ...

May 14, 2023 · 1 min · jiezi

关于机器学习:科罗拉多州立大学发布CSUMLP模型用随机森林预测中期恶劣天气

本文首发自 HyperAI超神经微信公众号~ 内容一览:近期,来自美国科罗拉多州立大学与 SPC 的相干学者联结公布了一个基于随机森林的机器学习模型 CSU-MLP,该模型可能对中期 (4-8天) 范畴内顽劣天气进行精确预报。目前该成绩刊已发表在《Weather and Forecasting》期刊上。关键词:顽劣天气 机器学习 随机森林天气预报尤其是顽劣天气预报对人们日常工作、生存等方面具备重要影响。Sigma 钻研报告《经济积攒和气候变化期间的自然灾害》(Natural catastrophes in times of economic accumulation and climate change) 显示,近年来顽劣天气对寰球造成的损失一直加剧,仅 2019 年,相干灾祸事件造成的寰球经济损失就高达 1460 亿美元,保险损失高达 600 亿美元。并且,报告还称,随着顽劣天气灾祸破坏性日益减轻,将来相干损失会进一步加剧。因而,精确预测顽劣天气显得尤为迫切。 近期,美国科罗拉多州立大学的 Aaron J. Hill、Russ S. Schumacher 与国家陆地和大气管理局 (NOAA) 风暴预测核心 (SPC) 的 Israel Jirak 联合开发了一个基于随机森林的机器学习模型 CSU-MLP,该模型可能对中期(4-8天)范畴内顽劣天气进行精确预报。目前该成绩刊已发表在《Weather and Forecasting》期刊上。 论文地址: https://arxiv.org/abs/2208.02383 CSU-MLP 概述美国顽劣天气预报个别是由上文提到的 SPC 应用数值天气预报 (numerical weather prediction,简称 NWP) 模型进行预报,该模型可能提前 1-2 天预警特定顽劣天气及产生的地点,但在提前 3-8 地利只能预警产生的地点,无奈预测是哪种顽劣天气。 近十年来,一种高分辨率的数值天气预报模型 CAMs (convection-allowing models) 应运而生,小于 4 天(短期)工夫范畴内的预报变得更加精准,但对于中长期工夫范畴来说,预测成果却没有较大改观。这种背景下,机器学习逐渐在气象学畛域失去利用。 本项钻研 CSU-MLP (Colorado State University Machine Learning Probabilities) 中,模型训练的气象数据来自寰球几何预报零碎 (Global Ensemble Forecast System version 12,简称为 GEFSv12) 再预报数据集 (以下简称 GEFS/R),该数据集蕴含了美国外乡 20 年的具体历史天气数据。钻研人员从中选取了 9 年(2003 年-2012 年)的数据作为本次中期预报钻研训练集,选取了 2 年 (2020 年-2022 年) 作为测试集。 ...

May 12, 2023 · 1 min · jiezi

关于机器学习:COMP90049-人工智能

School of Computing and Information SystemsThe University of MelbourneCOMP90049, Introduction to Machine Learning, Semester 1 2023Assignment 3: Job Salary PredictionReleased: Monday, April 17th 2023.Due: Stage I: Friday, May 12th 5pmStage II: Wednesday, May 17th 5pmMarks: The Project will be marked out of 30, and will contribute 30% of your total mark.1 OverviewIn this assignment, you will develop and critically analyse models for predicting the the salary of jobs. Thatis, given a job description, your model(s) will predict the salary offered for the job. You will be providedwith a data set of job descriptions that have been labelled with their salary. In addition, each job descriptionis labelled with the gender balance of the occupation class it falls under: balanced male-female (0) or maledominated (1) or female-dominated (2). For example, ‘engineering’ occupations tend to be male-dominated,while education-related occupations are more often taken up by more women than men. You may use this additional information to investigate whether your models work equally well across occupations with a differentgender skew. The assessment provides you with an opportunity to reflect on concepts in machine learning in thecontext of an open-ended research problem, and to strengthen your skills in data analysis and problem solving.The goal of this assignment is to critically assess the effectiveness of various Machine Learning algorithmson the problem of determining a job’s salary, and to express the knowledge that you have gained in a technical report. The technical side of this project will involve applying appropriate machine learning algorithms tothe data to solve the task. There will be a Kaggle in-class competition where you can compare the performanceof your algorithms against your classmates.The focus of the project will be the report, formatted as a short research paper. In the report, you will demonstrate the knowledge that you have gained, in a manner that is accessible to a reasonably informed reader.2 DeliverablesStage I: Model development and testing and report writing (due May 12th):1. One or more programs, written in Python, including all the code necessary to reproduce the results inyour report (including model implementation, label prediction, and evaluation). You should also includea README file that briefly details your implementation. Submitted through Canvas.2. An anonymous written report, of 2000 words (±10%) excluding reference list. Your name and studentID should not appear anywhere in the report, including the metadata (filename, etc.). Submitted throughCanvas/Turnitin. You must upload the report as a separate PDF file. Do NOT upload it as part of acompressed archive (zip, tar, . . . ) file or in a different format.3. Predictions for the test set of job descriptions submitted to the Kaggle1in-class competition described inSec 7.Stage II: Peer reviews (due May 17th):1. Reviews of two reports written by your classmates, of 200-400 words each. Submitted through Canvas.3 Data SetsYou will be provided with• A training set of 13,902 job descriptions. The first 8,000 descriptions are labeled with the job’s salary(target label) and gender balance of the job’s occupation group (demographic label). The remaining 5,902descriptions are unlabelled. You may use these for semi- or unsupervised learning approaches.• A development set of 1,738 labeled job descriptions, with target and demographic labels which youshould use for model selection and tuning;• A test set of 1,737 job descriptions, with no target (but demographic) labels, which will be used for finalevaluation in the Kaggle in-class competition3.1 Target LabelsThese are the labels that your model should predict (y). We provide this label in two forms:• the mean expected salary (float; in the column named mean_salary in the raw data *.csv files); and• a categorical label indicating the salary band, where we binned the mean salaries into 10 equal-frequencybins (in the column named salary_bin in the raw data *.csv files).You may use either label representation in your experiments, but different representations might call for different machine learning approaches.3.2 Demographic LabelsDemographic labels provide additional meta information about the gender skew in the occupation category of ajob ad (in the column named gender_code in the raw data *.csv files). They should only be used to evaluatemodels on specific subgroups of employees (male vs female), but not be predicted (and probably not used asfeatures, although you can discuss this in your report). In the provided data set, each job ad is labelled with oneof three possible demographic labels indicating the gender balance of the job’s occupation category:• 0: gender-balanced occupation category (e.g., consultants, accountants, . . . )1https://www.kaggle.com/• 1: female-dominated occupation category (e.g., nurse, social workers, . . . )• 2: male-dominated occupation category (e.g., engineers, construction workers, . . . )3.3 FeaturesTo aid in your initial experiments, we have created different feature representations from the raw job descriptions. You may use any subset of the representations described below in your experiments, and you may alsoengineer your own features from the raw descriptions if you wish. The provided representations areI. Raw The raw descriptions represented as a single string. We lowercased all words, and removed punctionation. E.g.,“develop implement evaluate health nutritional programmes develop interactive health programme contentactivities”The job description in plain text is provided in the column requirements_and_roles in the raw data*.csv files).II. TFIDF We applied term frequency - inverse document frequency pre-processing to the job ads for featureselection. In particular, we (1) removed all stopwords and (2) only retained the 500 words in the full raw jobdescription data set with highest TFIDF values. As a result, each job ad is now represented as a 500 dimensionalfeature vector, each dimension corresponding to one of the 500 words. The value is 0 if the word did not occurin the job description, and the word’s TFIDF score if the word occurs in the description. Note that most valueswill be 0.0 as job descriptions are short. E.g.,[0.0, 0.0, 0.0, 0.0, . . . 0.998, . . . 0.0]A 500-dimensionallist of numbersWord not in jobdescriptionTFIDF score of word injob descriptionThe Feature Selection lecture and associated Code (in week 5) provides more information on TFIDF, as wellas Schutze et al. ¨ (2008).The file tfidf_words.txt contains the 500 words with highest TFIDF value, as well as their index in thevector representations. You may use this information for model/error analysis.III. Embedding We mapped each job description to a 384-dimensional embedding computed with a pretrained language model, called the Sentence Transformer (Reimers and Gurevych, 2019).2 These vectors capture the “meaning” of each job ad so that similar job ads will be located closely together in the 384-dimensionalspace. E.g.,[2.05549970e-02 8.67250003e-02 8.83460036e-02 -1.26217505e-01 1.31394998e-02 . . .]a 384-dimensional list of numbers2https://pypi.org/project/sentence-transformers/Data format The Raw data are provided in csv format (train.csv, valid.csv and test.csv). The labeled datasets also contain both target label formats (real value and bin) and the demographic label, with the followingcolumns:job_id unique identifier for each instancerequirements_and_role input features (raw job description text)salary_bin target label (binned categorical)mean_salary target label (float)gender_code demographic label (categorical)The TFIDF and Embeddings representations are provided as dense numpy matrix (files ending *.npy).3. Linenumbers for the same data set type refer to the same instance, e.g., line 5 in train.csv, train-embeddings.npy andtrain-tfidf.npy are different representations of the same job ad.4 Project Stage IYou should formulate a research question (two examples provided below), and develop machine learning algorithms and appropriate evaluation strategies to address the research question.You should minimally implement and analyse in your report one baseline, and at least two different machine learning models. N.B. We are more interested in your critical analysis of methods and results, than theraw performance of your models. You may not be able to arrive at a definitive answer to your research question,which is perfectly fine. However, you should analyse and discuss your (possibly negative) results in depth.4.1 Research QuestionYou should address one research question in your project. We propose two research questions below, forinspiration but you may propose your own. Your report should clearly state your research question. Addressingmore than one research question does not lead to higher marks. We are more interested in your critical analysisof methods and results, than the coverage of more content or materials.Research Question 1: Does Unlabelled data improve Job salary prediction?Various machine learning techniques have been (or will be) discussed in this subject (Naive Bayes, 0-R, clustering, semi-supervised learning); many more exist. These algorithms require different levels of supervisions:some are supervised, some unsupervised and some combine both strategies. Develop machine learning modelsthat leverage different amounts of supervision, using labeled an unlabeled portions of the train data set.You may also want to experiment with different feature representations (Sec 3.3). Alternatively, you may wantto develop meaningful approaches for predicting mean salaries vs. salary bins (different y-label representations). You are strongly encouraged to make use of machine learning software and/or existing libraries in yourattempts at this project (such as sklearn or scipy). What are the strengths and weaknesses of the differentmachine learning paradigms? Can you effectively combine labelled and unlabelled training data?3Learn here how to read and process these files: https://numpy.org/doc/stable/reference/generated/numpy.load.html.Research Question 2: Exploring Bias in Job salary predictionCompare different models and/or feature representations in their performance of on the different demographicgroups in the data set (balanced vs. female-dominated vs. male-dominated jobs) separately. Some models willnot work equally well for all these groups. Critically analyse the gap, and try to explain it in the context ofthe concepts covered in this subject. Can you adapt your models to close the performance gap? How? Note:your grade does not depend on your success in closing the performance gap. Interestingly, failed attempts within-depth analyses are perfectly acceptable.4.2 Feature Engineering (optional)We have discussed three types of attributes in this subject: categorical, ordinal, and numerical. All three typescan be constructed for the given data. Some machine learning architectures prefer numerical attributes (e.g. kNN); some work better with categorical attributes (e.g. multivariate Naive Bayes) – you will probably observethis through your experiments.It is optional for you to engineer some attributes based on the raw job description dataset (and possibly usethem instead of – or along with – the feature representations provided by us). Or, you may simply select featuresfrom the ones we generated for you (tfidf, and embedding).4.3 EvaluationThe objective of your learners will be to predict the labels of unseen data. We will use a holdout strategy.The data collection has been split into three parts: a training set, a development set, and a test set. This data isavailable on the LMS.To give you the possibility of evaluating your models on the test set, we will be setting up a Kaggle InClass competition. You can submit results on the test set there, and get immediate feedback on your system’sperformance. There is a Leaderboard, that will allow you to see how well you are doing as compared to otherclassmates participating on-line.4.4 ReportYou will submit an anonymised report of 2000 words in length (±10%), excluding reference list. The reportshould follow the structure of a short research paper, as discussed in the guest lecture on Academic Writing.It should describe your approach and observations in the context of your chosen research question, both inengineering (optional) features, and the machine learning algorithms you tried. Its main aim is to provide thereader with knowledge about the problem, in particular, critical analysis of your results and discoveries.The internal structure of well-known machine learning models should only be discussed if it is important forconnecting the theory to your practical observations.• Introduction: a short description of the problem and data set, and the research question addressed• Literature review: a short summary of some related literature, including the data set reference and at leasttwo additional relevant research papers of your choice. You might find inspiration in the Reference list ofthis document. You are encouraged to search for other references, for example among the articles citedwithin the papers referenced in this document.• Method: Identify the newly engineered feature(s), and the rationale behind including them (Optional).Explain the ML models and evaluation metric(s) you have used (and why you have used them)• Results: Present the results, in terms of evaluation metric(s) and, ideally, illustrative examples. Use oftables and diagrams is highly recommended.• Discussion / Critical Analysis: Contextualise∗∗ the system’s behavior, based on the understanding fromthe subject materials as well as in the context of the research question.• Conclusion: Clearly demonstrate your identified knowledge about the problem• A bibliography, which includes Bhola et al. (2020), as well as references to any other related work youused in your project. You are encouraged to use the APA 7 citation style, but may use different styles aslong as you are consistent throughout your report.∗∗ Contextualise implies that we are more interested in seeing evidence of you having thought about the task,and determined reasons for the relative performance of different methods, rather than the raw scores of thedifferent methods you select. This is not to say that you should ignore the relative performance of different runsover the data, but rather that you should think beyond simple numbers to the reasons that underlie them.We will provide LATEXand RTF style files that we would prefer that you use in writing the report. Reports areto be submitted in the form of a single PDF file. If a report is submitted in any format other than PDF, wereserve the right to return the report with a mark of 0.Your name and student ID should not appear anywhere in the report, including any metadata (filename, etc.).If we find any such information, we reserve the right to return the report with a mark of 0.5 Project Stage IIDuring the reviewing process, you will read two anonymous submissions by your classmates. This is to helpyou contemplate some other ways of approaching the Project, and to ensure that every student receives someextra feedback. You should aim to write 150-300 words total per review, responding to three ’questions’:• Briefly summarise what the author has done in one paragraph (50-100 words)• Indicate what you think that the author has done well, and why in one paragraph (50-100 words)• Indicate what you think could have been improved, and why in one paragraph (50-100 words)6 Assessment CriteriaThe Project will be marked out of 30, and is worth 30% of your overall mark for the subject. The mark breakdown will be:Report Quality: (26/30 marks)You can consult the marking rubric on the Canvas/Assignment 3 page which indicates in detailed categorieswhat we will be looking for in the report.Kaggle: (2/30 marks)For submitting (at least) one set of model predictions to the Kaggle competition.Reviews: (2/30 marks)You will write a review for each of two reports written by other students; you will follow the guidelines statedabove.7 Using KaggleTask The Kaggle competition will be on predicting salary bin (not mean salary).Instructions The Kaggle in-class competition URL will be announced on LMS shortly. To participate do thefollowing:• Each student should create a Kaggle account (unless they have one already) using your Student-ID• You may make up to 8 submissions per day. An example submission file can be found on the Kaggle site.• Submissions will be evaluated by Kaggle for accuracy, against just 30% of the test data, forming thepublic leaderboard.• Prior to the closing of the competition, you may select a final submission out of the ones submittedpreviously – by default the submission with highest public leaderboard score is selected by Kaggle.• After the competition closes, public 30% test scores will be replaced with the private leaderboard 100%test scores.8 Assignment Policies8.1 Terms of Data UseThe data set is derived from the resource published in Bhola et al. (2020):Akshay Bhola, Kishaloy Halder, Animesh Prasad, and Min-Yen Kan. 2020. Retrieving Skills fromJob Descriptions: A Language Model Based Extreme Multi-label Classification Framework. InProceedings of the 28th International Conference on Computational Linguistics, pages 5832–5842,Barcelona, Spain (Online). International Committee on Computational Linguistics.This reference must be cited in the bibliography. We reserve the right to mark any submission lacking thisreference with a 0, due to violation of the Terms of Use.The demographic labels were added based on data from the Department of Statistics Singapore.Please note that the dataset is a sample of actual data posted to the World Wide Web. As such, it may contain information that is in poor taste, or that could be construed as offensive. We would ask you, as muchas possible, to look beyond this to focus on the task at hand. If you object to these terms, please contact us(lea.frermann@unimelb.edu.au) as soon as possible.Changes/Updates to the Project SpecificationsWe will use Canvas announcements for any large-scale changes (hopefully none!) and Ed for small clarifications. Any addendums made to the Project specifications via the Canvas will supersede information containedin this version of the specifications.Late Submission PolicyThere will be no late submissions allowed to ensure a smooth peer review process. Submission will closeat 5pm on May 12th. For students who are demonstrably unable to submit a full solution in time, we mayoffer an extension, but note that you may be unable to participate in and benefit from the peer review processin that case. A solution will be sought on a case-by-case basis. Please email Hasti Samadi (hasti.samadi@unimelb.edu.au) with documentation of the reasons for the delay.Academic MisconductFor most students, discussing ideas with peers will form a natural part of the undertaking of this project. However, it is still an individual task, and so reuse of ideas or excessive influence in algorithm choice and development will be considered cheating. We highly recommend to (re)take the academic honesty training modulein this subject’s Canvas. We will be checking submissions for originality and will invoke the University’sAcademic Misconduct policy4 where inappropriate levels of collusion or plagiarism are deemed to have takenplace. Content produced by generative AI (including, but not limited to, ChatGPT) is not your own work, andsubmitting such content will be treated as a case of academic misconduct, in line with the University’s policy.ReferencesBhola, A., Halder, K., Prasad, A., and Kan, M.-Y. (2020). Retrieving skills from job descriptions: A languagemodel based extreme multi-label classification framework. In Proceedings of the 28th International Conference on Computational Linguistics, pages 5832–5842, Barcelona, Spain (Online). International Committeeon Computational Linguistics.Elazar, Y. and Goldberg, Y. (2018). Adversarial removal of demographic attributes from text data. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, pages 11–21, Brussels,Belgium. Association for Computational Linguistics.Han, X., Shen, A., Cohn, T., Baldwin, T., and Frermann, L. (2022). Systematic evaluation of predictive fairness.In Proceedings of the 2nd Conference of the Asia-Pacific Chapter of the Association for ComputationalLinguistics and the 12th International Joint Conference on Natural Language Processing (Volume 1: LongPapers), pages 68–81, Online only. Association for Computational Linguistics.Joshi, M., Das, D., Gimpel, K., and Smith, N. A. (2010). Movie reviews and revenues: An experiment in textregression. In Human Language Technologies: The 2010 Annual Conference of the North American Chapterof the Association for Computational Linguistics, pages 293–296, Los Angeles, California. Association forComputational Linguistics.4http://academichonesty.unimelb.edu.au/policy.htmlReimers, N. and Gurevych, I. (2019). Sentence-BERT: Sentence embeddings using Siamese BERT-networks.In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 3982–3992,Hong Kong, China. Association for Computational Linguistics.Schutze, H., Manning, C. D., and Raghavan, P. (2008). ¨ Introduction to information retrieval, volume 39.Cambridge University Press Cambridge.

May 10, 2023 · 15 min · jiezi

关于机器学习:ChatGPT-中文指令指南教会你如何使用chatgpt实现中文你想要的答案

ChatGPT 中文指令指南,教会你如何应用chatgpt实现中文你想要的答案1.学习英语--代替词典 App场景例子Prompts解释中文英文意思,并解释单词的词根词缀。能够代替词典。通知我 Egocentric 的词性和音标,并应用中文和英文解释该词的意思,同时通知我这个词是怎么来的?是如何结构进去的?最初用这个词写 3 句英文例句。通知我 英文单词 的词性和音标,并应用中文和英文解释该词的意思,同时通知我这个词是怎么来的?是如何结构进去的?最初用这个词写 3 句英文例句。通过故事帮忙记忆单词,并理解单词的用法。应用 Egocentric、Egomaniac 写一个能帮忙我记忆单词含意的英文故事。应用 英文单词、英文单词 写一个能帮忙我记忆单词含意的英文故事。理解近义词或相近词之间的区别。Egoist 和 Egotist 的区别在哪里?英文单词 和 英文单词 的区别在哪里?通过词根查找相近词,并生成故事不便记忆。请通知我由 ego 形成的常见英文单词,并解释其中文含意,最初用所有这些词语写成一个能帮忙我记忆单词含意的英文故事。请通知我由 英文单词 形成的常见英文单词,并解释其中文含意,最初用所有这些词语写成一个能帮忙我记忆单词含意的英文故事。理解动词短语搭配请通知我跟 make 搭配应用的常见小品词有哪些,并应用这些短语别离写 1 个英文句子。请通知我跟 英文单词 搭配应用的常见小品词有哪些,并应用这些短语别离写 1 个英文句子。辨别正式与书面语的表白请通知我“打电话”用英语如何表白?留神,别离用正式和书面语的表白解释。请通知我 “中文” 用英语如何表白?留神,别离用正式和书面语的表白解释。询问语法请通知我如何正确应用 the请通知我如何正确应用 单词理解完正确用法后,还能够询问常见谬误。通过谬误学习事倍功半。请通知我应用 the 的常见谬误请通知我应用 单词 的常见谬误理解完正确和谬误用法,还能够让 ChatGPT 出练习题,通过练习加深印象(这个办法不仅限于学习语法,或者学习英语)请提供一些对于如何应用 the 的练习题给我请提供一些对于如何应用 单词 的练习题给我 2.辅助决策人的很多谬误的本源都来自于盲点。扭转参照系,这是惟一有助于防止认知偏差的事件。人要扭转参考系个别比拟艰难,所以我就想是否有可能让 AI 帮忙,试用了下,如同还行。ChatGPT 无奈给你确切的答案,但它能够提供一些思考角度。 场景例子Prompts询问倡议和决策要害条件请剖析以下问题,并将决策判断所需的条件具体列出来:我是否应该辍学守业?请剖析以下问题,并将决策判断所需的条件具体列出来:问题间接列举决策点只是根底用法,你还能够在发问的时候,减少一些模型信息,比方让 ChatGPT 应用「六项思考帽」法,剖析某个问题。请应用六项思考帽的办法,剖析以下问题:我是否应该辍学守业?请应用 模型,剖析以下问题:问题除了模型外,也能够引入某人的经验。只需减少一句请将你设想为 某某某 即可。(不过须要留神:据我测试,其答复的具体水平,取决于对某人的相熟水平,而且答案只是多了一些背景信息,无奈实在模仿。)请别离将你设想成为 Steve Jobs 和 Elon Musk , 并从他们的经验和角度答复以下问题,并将决策判断所需的条件具体列出来:我是否应该辍学守业?请别离将你设想成为 某人 和 某人 , 并从他们的经验和角度答复以下问题,并将决策判断所需的条件具体列出来:问题 ...

May 9, 2023 · 1 min · jiezi

关于机器学习:CPT204-Programming

Advanced Object-Oriented ProgrammingCPT204 – Final ProjectCPT204 Advanced Object-Oriented ProgrammingFinal ProjectTask Sheet 2 – SupplementaryCPT204-2223 Final Project Task Sheet 2 – Supplementary Info● This document contains supplementary information on CPT204-2223 FinalProject● You must read Final Project Task Sheet 1 pdf first!○ after that, this document will give you more explanations on the code structureand more details on your tasks○ also, it is recommended to watch the video demo by Haoyue first!● If you have any questions, please ask in Final Project Forum○ please check Final Project Forum and LM Announcement frequently forupdates!CPT204-2223 Final Project Skeleton Files and Demo Video● Extract the CPT204-2223_Final_Project_Skeleton_Files.zip○ the Java skeleton code files are found in folder ataxx,and so create New Project from Existing Sources in IntelliJ on that folderas usual○ in folder library, there is a file for JUnit testing, and so import this libraryas usual for the given test case files○ in folder demo, there is a demo video mp4 file,and a text file that lists commands used in the demo videoAtaxx Code Overview (1)● As the game involves many files, we will explain the main files and operationsneeded to understand the code structure and game implementations○ we apply modular design, classes and methods can work independently○ some files may contain game-playing machinery that not necessarily be understood○ we start by explaining the routines of command reading● The game starts at Main.java where game instance is be created andgame.play() is called● In Game.java, we observe the play() method:setManual(RED)setAI(BLUE)○ which means in the beginning, RED plays first as a manual player and BLUE playsnext as an AI playerAtaxx Code Overview (2)● Continuing, in Game.java:○ setManual and setAI will create an instance of Manual and AIPlayer,and call setAtaxxPlayer to assign players according to their color andbeing manual/AI players○ in play(), while loop finds the final winner, and execute move or nextcommand (until receiving command to exit the game):■ if no winner yet, it lets the current player to be the next playerrunCommand(getAtaxxPlayer(ataxxBoard.nextMove()).getAtaxxMove())and runs its move;■ if the game is over (meeting an end condition):● if the winner is not yet announced, then announce it● after that, get and run the next commandrunCommand() and Command Types● Commands in runCommand(String command) are case-insensitive○ e.g. one can type in BOARD or board with the same effectCommand Type Format in Terminal ExplanationNEW new start a new game with an initial boardAI ai <red/blue> set Red/Blue player to be an AI playerMANUAL manual <red/blue> set Red/Blue player to be a human playerBOARD board print the board with labelsBLOCK block <cr> set blocks according to the rules in Task Sheet 1SCORE score print the current number of red and blue pieces on the boardBOARD_ON board_on print the board after each moveBOARD_OFF board_off not print the board after each movePIECEMOVE c0r0-c1r1(i.e., c2-b3) move the piece of current color on the board (must be legal)QUIT quit (or q) quit the gameERROR (any other input) print "Unknown command" in the terminalStates of a Square, PieceState, and Player Types● The states of a square (c, r) in a board are enumerated PieceState types:○ EMPTY: no piece at location (c, r)○ BLOCKED: there's a block at location (c, r)○ RED: there's a Red piece at the location (c, r)○ BLUE: there's a Blue piece at location (c, r)● Used in Player[] ataxxPlayers = new Player[PieceState.values().length]in Game.java, but there are only two types: RED and BLUE○ ataxxPlayers[0] = RED○ ataxxPlayers[1] = BLUE● Each type has opposite() method to return its opposite color○ e.g. RED.opposite() is BLUEPlayers● Represented by color Red/Blue in the game in abstract class Player.java● The implementor classes○ Manual extends Player: Manual(game, color)○ AIPlayer extends Player: AIPlayer(game, color, seed)■ students need to implement AI Player by themselves for Task A.2■ seed is used to implement the psedorandomness of the AI■ currently, seed is always incremented by 1 and students may changearbitrarily according to their AI implementationgetAtaxxMove● Called inrunCommand(getAtaxxPlayer(ataxxBoard.nextMove()).getAtaxxMove())● In Player.java, it is declared as an abstract method○ to be implemented independently in Manual and AIPlayergetAtaxxPlayer● Called inrunCommand(getAtaxxPlayer(ataxxBoard.nextMove()).getAtaxxMove())● In Game.java, Player getAtaxxPlayer(PieceState state)○ returns a player by indexing the attaxPlayers[] array○ the index is return by enum ordinal() method■ i.e. RED.ordinal() is 0 and BLUE.ordinal() is 1● In Board.java, ataxxBoard.nextMove() returns the state/color of the playerwhich is to move nextAtaxx Board● Board in Board.java is represented by11-by-11 array of PieceState○ with predetermined values as shown infigure on the right○ why? to avoid special edge cases● Each piece in board is labeled by:○ char value of column label c('a' - 2 < c < 'g' + 2)○ row label r ('1' - 2 < r < '7’ + 2)● Squares outside 7-by-7 "real" board(in 'a' - 'g' and '1' - '7') are blocks○ so that moving to these locations won'tMove Objects● All kinds of Move objects are created by a private constructor in Move.java○ into OVERALL_MOVES array○ a factory method then returns the requested Move objects○ so the same Move object used later by your AI Player will only becreated once – for efficiency● If the requested Move is not a legal move○ the factory method will return nullMethods in Board.java● index() turns column and row labels into index in 1-D array● getNeighbor() returns index in 1-D array of neighboring square given thedistance● read comments for understanding more helper methods!● createMove(String move)○ to make a Move object to be used in Game.javae.g. createMove("c3-d4")○ it first check whether it is a legal move and whether there's a winner,and check whether it is a pass, to add to list of total moves for displaying○ find the opposite colorCreating Move● createMove(String move) (continues)○ if it is a jump:■ set its 'from' index into empty and its 'to' index to next move■ change the color of surrounding pieces■ increase the number of consecutive jumping○ if it is a clone:■ set its 'to' index to next move■ change the color of surrounding pieces■ reset the number of consecutive jumping■ increase the number of corresponding color○ record the next move and update winner○ note that it uses isJump() and isClone() which you will complete■ explained later in this task sheetCPT204-2223 Final Project Part A.1● In the following pages, you will find details about Final Project Part A.1 thatyou need to complete○ there are 4 tasks / subparts that you need to complete○ you will submit your code to Learning Mall autograder during SubmissionDay (read Task Sheet 1 and upcoming Announcements for more details)○ your code will be tested on a new full set of test cases during grading○ partial grades will be given if you pass some tasks or pass some testcases○ more information and requirements are found in Task Sheet 1 pdf andfuture LM AnnouncementsPart A.1.1 Getting the Number of Colors● Complete the method getColorNums(PieceState color) in Board.java○ it is called in getScore() in Board.java to print the current score whengiven the command score○ it takes either RED or BLUE■ you can ignore other states○ e.g., getColorNums(RED) → 2● Find the partial test cases in ScoreTest.javaPart A.1.2 Setting a Block● Complete the method setBlock(char c, char r) in Board.java○ it is called when we want to put blocks with the command block○ it puts a block at the given position, and its reflected squaressymmetrically according to rules in Task Sheet 1○ we have given the code to throw an error when the location is not legal,such as already occupied by a piece or a block○ e.g., setBlock('c', '3')● Hints: Consider using the method setContent and the variable unblockedNum● Find the partial test cases in BlockTest.javaPart A.1.3 Clone or Jump?● Complete the method isClone() and isJump() in Move.java○ it is called in the first constructor Move in Move.java○ it takes 2 parameters: String location0 and String location1■ location0 is the origin location such as "c1"■ location1 is the target location such as "d2"○ it returns true if and only if the move is a clone/a jump○ e.g., isClone("c1", "d2") → trueisJump("c1", "d2") → false● Find the partial test cases in MoveTest.javaPart A.1.4 Getting the Winner● Complete the method getWinner() in Board.java○ it is used to find the winner of the game and is called in play() inGame.java and createMove() in Board.java○ it returns PieceState objects:■ null if the game is not finished■ RED or BLUE if the game is finished and there is a winner with that color■ EMPTY if the game is finished but there is no winner since red and bluehave the same number of pieces○ It also stores the result in instance variable winner● Hints: Consider using couldMove, getColorNums, getConsecJumpNums● Find the partial test cases in WinnerTest.javaCPT204-2223 Final Project Part A.2● You are given in your skeleton code a very simple AI, which moves randomly○ it generates all possible legal moves, and pick one uniformly at random● Work with your team members in a team of two/three students,to create your own AI player by modifying the codes in AIPlayer.java○ Specifically, you could create your new methods and call your ownmethods in findMove() method● Read Task Sheet 1 pdf and future LM announcements for furtherinformation and requirementsOptional Part: Ataxx GUI● Complete this part in GUI.java for extra points○ if you have completed the previous parts and have extra time○ to actually play the game in graphical interface● Here we provide the way to run the Ataxx game with a GUI interface○ to enable GUI of Ataxx game you need to first create a jar file○ and then run that jar file by using command line argument --display○ the complete steps can be found in the next slideOptional Part: Ataxx GUI (continues)Steps to create a jar file and to run Ataxx with GUI: ...

May 9, 2023 · 9 min · jiezi

关于机器学习:All-in-AI现在开始算不算太晚

编者按:目前大模型近乎能够帮忙人类解决方方面面的事件,如对话、写文章、写代码等等。在大模型“狂飙”趋势下,想要从事AI畛域的小伙伴可能会犹豫:当初进入AI畛域会不会曾经太晚了? 本文作者联合本身转型经验和对AI市场的研判,论述了进入人工智能畛域素来都不会太晚,There's no time like the present。 本文还详述了,在“AI浸透所有”的时代,如何疾速把握必要的AI常识,以及如何在AI时代找到本身职业定位。 以下是译文,Enjoy! 作者 | swyx 编译 | 岳扬 我的一位开发者敌人最近跟我说:“如果我当初是20岁,我会放下所有 all in 人工智能。”但他曾经花了十多年的工夫去学习专业知识、积攒社交人脉和良好的名誉,曾经达到他目前所在畛域的最高程度。因而,他当初还得留在原来的畛域。另一位较年长的大学期间敌人是一家上市科技初创公司的高管。他对当初的工作得心应手,领有近乎完满的简历,他之前的职业经验也是令人羡慕的岗位。然而,他当初正在转变方向,因为正如他通知我的那样,"生命是短暂的",他不想在完结时想 "如果过后..."。 最近几天,我同从事技术工作和非技术工作的敌人都有过相似下面这样的对话。尽管我很想让这篇文章关注具体的技术倒退和分享飞速发展的最新技术,但我认为有必要花一期来探讨职业转型话题,因为这正是我凑巧特地有资格可能探讨的话题。 01 三十多岁时的转折期我还记得在我30岁第一次进行职业转型时有如许可怕,过后我曾经在金融行业工作了6-7年,我从16岁起就始终想要从事金融行业,穿梭于世界各地,向CEO们发问,并帮忙治理一家世界顶级对冲基金的10亿美元资产。看起来我很厉害,但我深知我的心田并不满足,这不是我的最终目标。与从无到有发明出一些货色相比,让一些捐献基金和养老金的数字变得更加大,就显得微不足道了。我决定从金融行业转向软件工程(和开发者关系) 。接下来产生的大家都曾经晓得了[1]。 六到七年后,我又一次转变了我的职业。我认为从软件工程师(SWE)到人工智能(AI)的转变简直和从金融到软件工程师的转变一样大,它们只是外表上看起来类似(都是计算机领域),然而须要大量的新常识和实践经验能力使工作变得有效率。我的转变策略和上次一样:尽可能开始的六个月每个早晨和周末学习,以确保我对要进入的畛域领有浓重的趣味(正文1,文末有解释,后同),而且我可能获得有意义的提高,而后就开始与过来say goodbye/背水一战/全力以赴,并通知大家我进入了这个畛域[2](正文2)。 但那只是实用于我本人的状况。每个人的状况可能都会不同。我置信如果你违心,能够找到如何做到胜利转行的办法。这篇文章面向的对象是那些想要取得足够自信去做出决定的人。 我认为,在科技职业的抉择中存在很多暗藏的年龄歧视(ageism)和沉没老本误区[3](sunk cost fallacy)。因而,以下是我疾速列出的一些理由,能够阐明你不会因为年龄问题而无奈转行。 02 哪怕你年龄曾经很大 仍应进入AI畛域的起因如下2.1 人工智能极大的后劲/倒退速度杰夫·贝索斯(Jeff Bezos)在30岁时辞去金融工作,开办了亚马逊。他这样做是因为1994年互联网使用量每年增长2300%。通用技术[4](general purpose technologies)(正文3)的推广须要数十年的工夫。设想一下,如果你能够在2000年或2010年成为技术畛域的“后浪”,却得出结论认为“为时已晚”而没有进入互联网行业。自1月以来,ChatGPT的使用量增长了1000% [5](正文4)。2.2 上手AI须要的工夫比咱们设想的要短如果不是通过获取博士学位的门路进入机器学习畛域,须要先加入 Andrew Ng (吴恩达)在 Coursera 上的课程[6]三个月左右,而后就会意识到仍须要数年的自学和实践经验能力在机器学习畛域做出乏味的事件。但目前咱们把握生成式AI的学习门路正在变得越来越简略。(正文5)Jeremy Howard 的 fast.ai 课程[7]从 2016 年开始就声称让学生在七周内进入人工智能畛域。到了 2022 年,他曾经通过十节 90 分钟的课程率领学员从新实现 Stable Diffusion[8]。Suhail Doshi 在 2022 年 6 月加入了这门课程,到了 11 月就推出了 Playground.ai[9]。这在肯定水平上是由2017年推出的Transformer架构推动的,自那当前它简直进入了每个 AI 畛域[10],并提供了一个弱小并且灵便的 baseline,从而使之前的架构常识变得可有可无。因而,没有数十年的钻研须要学习,只须要学习最近五年的内容。 https://www.stateof.ai/2018 有一些读者询问了对于AI波及到的数学问题。AI 是否“只是应用了矩阵乘法(matrix multiplication)” [11]存在争议,如果你违心,能够在大学线性代数和微积分课程中学习矩阵乘法,但我的答复是你不用这样做,当初的那些AI开发框架(比方 Pytorch) 能够帮忙你进行任何反向流传(backpropagation)和矩阵操作(matrix manipulations)。当然,走捷径并不能让你变成可能推动技术倒退的博士。 但看看最顶尖AI研究员的职业生涯,你也能够理解须要多长时间能力达到最高程度。Yi Tay 在 Google 奉献或领导实现了许多最新的 LLM 成绩,但你可能会诧异地发现他才取得博士学位约 3.3 年的工夫。Ashish Vaswani 在发表 Transformer 论文时间隔博士毕业也只有 3 年,而 Alec Radford 发表 GPT 和 GPT-2 论文时刚本科毕业 2 年。相似这样的职业轨迹在物理、数学、医学等更成熟的畛域不会产生,因为它们的 “FOOM(Fast Onset of Overwhelming Mastery) ” 年代[12]曾经过来了几个世纪,而 AI 的“foom” 正在显著地产生。这些话都是为了阐明:这依然是一个十分年老的畛域,在20年后,没有人可能会关怀你感觉本人“晚入行”。2.3 除了成为业余的机器学习畛域的研究员,还有许多畛域能够抉择Prompt和大模型能力钻研: Riley Goodside[13] 的职业生涯在 2022 年急剧变动,通过在推特上公布GPT-3的应用技巧,他从 Grindr 的数据科学家变成了世界上第一位高级Prompt工程师[14],他还发现并遍及[15]“提醒注入(prompt injection) ”这种重要的 LLM 平安问题。自那当前,许多人曾经意识到寻找 GPT-3 和 GPT-4 的乏味应用案例在社交媒体上很受欢迎。软件工程畛域: 最近,Whisper.cpp 和 LLaMA.cpp 激发了许多人对在用户终端上运行大型模型的趣味[16]。我听了 Georgi Gerganov 在 Changelog 上的采访[17],并得悉他在 2022 年 9 月自称“非 AI 信仰者”,只是为了好玩而将 Whisper 移植到了 C++。LLaMA.cpp 的倒退速度比 Stable Diffusion 还要快[18],而 Stable Diffusion 曾经是有史以来增长最快的开源我的项目之一[19]。只管没有进行模型训练,但 Georgi 的软件工程专业知识使得这些根底模型更加易于接入。Harrison Chase 的 Langchain[20] 通过构建首个面向所有开发人员的提醒工程框架,将Prompt和软件的改良交融到预训练的LLM模型中,吸引了大量关注。从 Guardrails 到 Nat.dev 的一系列 LLM 工具都有助于弥合这些模型从学术界到商业利用的差距。ChatGPT自身在很大水平上是与GPT 3.5系列模型一起交付的用户体验翻新,这对前端/UI开发者来说是个好消息。AI技术产品化: 说到 Stable Diffusion,Emad Mostaque 直到 2019 年都是一名对冲基金经理[21],仿佛除了为他的儿子进行“literature review of autism and biomolecular pathway analysis of neurotransmitters[22]”相干的钻研之外之前并没有任何 AI 教训。但他在 2020 年加入 EleutherAI 社区后意识到 Stable Diffusion 这样的货色是可能存在的,并找到了海德堡大学 CompVis 组[24]的 Patrick 和 Robin[23],提供了大概 60 万美元来训练和交付了2022年第二或最重要的AI产品。没有人想去审查谁做了什么,但一个前对冲基金经理通过发现机会并将财务(和组织架构)杠杆利用于时机已到的想法(ideas whose time had come)而取得大量回报是有情理的。Nat Friedman 曾经公开示意,多年的钻研造成的能力过剩[25]还没有被足够多的守业公司消化,看起来像 Dave Rogenmoser 这样违心早早跳上这班车的守业人,在两年内将 Jasper 的 ARR(会计收益率) 从零增长到了 7500 万美元[26],将会取得不成比例的回报。现有企业和各个垂直畛域的守业公司都在拥抱人工智能,这表明将来将是“AI浸透所有”的时代,因而了解根底模型可能是达到目标(利用它们)的一种伎俩,而不是目标自身(训练模型或对安全性和感知能力进行思考) 。少想一点你本人和你将来的潜在方向,不是“转行钻研AI”,而是在你曾经感兴趣或精通的畛域 "学习如何利用它"。 ...

May 8, 2023 · 2 min · jiezi

关于机器学习:ChatGPT-背后基础设施的算力概念

在人工智能畛域,算力通常指的是计算机系统的解决能力和性能,它是评估和掂量计算机硬件和软件系统的一个重要指标。随着深度学习模型的一直倒退和复杂化,对算力的需要也越来越大。高性能计算机、GPU(图形处理器)、TPU(Tensor Processing Unit,张量处理器)等专门的硬件设施曾经成为了古代深度学习算法的次要撑持。 在人工智能畛域,罕用的算力单位是 P(Peta,即十五个零),它示意每秒能够进行的浮点运算次数。PetaFLOPS(PFLOPS)是一种掂量计算机系统解决能力的罕用指标。例如,一台可能每秒进行 1 PetaFLOPS 浮点运算的计算机系统就被称为 1 PFLOPS 级别的计算机。 随着人工智能算法和利用的一直倒退和壮大,对算力的需要也在一直进步。目前,世界上最弱小的超级计算机领有几百万个 CPU 和 GPU,能够实现每秒数十 PetaFLOPS 的计算能力,为人工智能畛域的钻研和利用提供了强有力的撑持。 EFLOPS 又是什么单位? EFLOPS(ExaFLOPS)是指每秒能够进行的浮点运算次数达到每秒十的18次方,即一百万亿次浮点运算。这是比PetaFLOPS更高的一个计算能力单位。 FLOPS的全称是“Floating-point Operations Per Second”,即每秒浮点运算次数。它是掂量计算机性能的一种指标,通常用于评估计算机的处理速度。 目前,在TB之后的单位是PB,它是Petabyte(拍字节),1PB等于1024TB。在PB之后,还有EB(Exabyte,艾字节)、ZB(Zettabyte,泽宝字节)、YB(Yottabyte,尧字节)等单位。

May 7, 2023 · 1 min · jiezi

关于机器学习:ahas不支持对测试域的机器进行故障注入吗

不反对。ahas不反对对测试域的机器进行故障注入,因为它是一个安全性测试工具,它的目标是检测零碎中的安全漏洞,而不是模仿故障。 残缺内容请点击下方链接查看: https://developer.aliyun.com/ask/488483?utm_content=g_1000371298 版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。

May 6, 2023 · 1 min · jiezi

关于机器学习:KNN中不同距离度量对比和介绍

k近邻算法KNN是一种简略而弱小的算法,可用于分类和回归工作。他实现简略,次要依赖不同的间隔度量来判断向量间的区别,然而有很多间隔度量能够应用,所以本文演示了KNN与三种不同间隔度量(Euclidean、Minkowski和Manhattan)的应用。 KNN算法概述KNN是一种惰性、基于实例的算法。它的工作原理是将新样本的特色与数据集中现有样本的特色进行比拟。而后算法抉择最靠近的k个样本,其中k是用户定义的参数。新样本的输入是基于“k”最近样本的少数类(用于分类)或平均值(用于回归)确定的。 有很多间隔度量的算法,咱们这里选取3个最罕用度量的算法来进行演示: 1、欧氏间隔 Euclidean Distance def euclidean_distance(x1, x2): return math.sqrt(np.sum((x1 - x2)**2))euclidean_distance函数计算多维空间中两点(x1和x2)之间的欧氏间隔,函数的工作原理如下: 从x1元素中减去x2,失去对应坐标之间的差值。应用**2运算将差值平方。应用np.sum()对差的平方求和。应用math.sqrt()取总和的平方根。欧几里得间隔是欧几里得空间中两点之间的直线间隔。通过计算欧几里得间隔,能够辨认给定样本的最近街坊,并依据街坊的少数类(用于分类)或平均值(用于回归)进行预测。在解决间断的实值特色时,应用欧几里得间隔很有帮忙,因为它提供了一种直观的相似性度量。 2、曼哈顿间隔 Manhattan Distance 两点坐标的相对差值之和。 def manhattan_distance(x1, x2): return np.sum(np.abs(x1 - x2))Manhattan _distance函数计算多维空间中两点(x1和x2)之间的曼哈顿间隔,函数的工作原理如下: 用np计算x1和x2对应坐标的相对差值。Abs (x1 - x2)应用np.sum()对相对差进行求和。曼哈顿间隔,也称为L1间隔或出租车间隔,是两点坐标的相对差值之和。它代表了当静止被限度为网格状构造时,点之间的最短门路,相似于在城市街道上行驶的出租车。 在数据特色具备不同尺度的状况下,或者当问题域的网格状构造使其成为更适合的相似性度量时,应用曼哈顿间隔可能会有所帮忙。曼哈顿间隔能够依据样本的特色来掂量样本之间的相似性或差异性。 与欧几里得间隔相比,曼哈顿间隔对异样值的敏感性较低,因为它没有对差别进行平方。这能够使它更适宜于某些数据集或异样值的存在可能对模型的性能产生重大影响的问题。 3、闵可夫斯基间隔 Minkowski Distance 它是欧几里得间隔和曼哈顿间隔的一般化的表现形式,应用p进行参数化。当p=2时,它变成欧氏间隔,当p=1时,它变成曼哈顿间隔。 def minkowski_distance(x1, x2, p): return np.power(np.sum(np.power(np.abs(x1 - x2), p)), 1/p)minkowski_distance函数计算多维空间中两点(x1和x2)之间的闵可夫斯基间隔。 当你想要管制单个特色的差别对整体间隔的影响时,应用闵可夫斯基间隔会很有帮忙。通过扭转p值,能够调整间隔度量对特征值或大或小差别的灵敏度,使其更适宜特定的问题域或数据集。 闵可夫斯基间隔能够依据样本的特色来掂量样本之间的相似性或不相似性。该算法通过计算适当p值的闵可夫斯基间隔,辨认出给定样本的最近街坊,并依据街坊的少数类(用于分类)或平均值(用于回归)进行预测。 KNN 算法的代码实现因为KNN算法的原理很简略,所以咱们这里间接应用Python实现,这样也能够对算法有一个更好的了解: defknn_euclidean_distance(X_train, y_train, X_test, k): # List to store the predicted labels for the test set y_pred= [] # Iterate over each point in the test set foriinrange(len(X_test)): distances= [] # Iterate over each point in the training set forjinrange(len(X_train)): # Calculate the distance between the two points using the Euclidean distance metric dist=euclidean_distance(X_test[i], X_train[j]) distances.append((dist, y_train[j])) # Sort the distances list by distance (ascending order) distances.sort() # Get the k nearest neighbors neighbors=distances[:k] # Count the votes for each class counts= {} forneighborinneighbors: label=neighbor[1] iflabelincounts: counts[label] +=1 else: counts[label] =1 # Get the class with the most votes max_count=max(counts, key=counts.get) y_pred.append(max_count) returny_pred这个' knn_euclidean_distance '函数对于解决分类问题很有用,因为它能够依据' k '个最近街坊中的大多数类进行预测。该函数应用欧几里得间隔作为相似性度量,能够辨认测试集中每个数据点的最近街坊,并相应地预测它们的标签。咱们实现的代码提供了一种显式的办法来计算间隔、抉择街坊,并依据街坊的投票做出预测。 ...

May 6, 2023 · 3 min · jiezi

关于机器学习:FATE联邦学习FATE是否支持batch分批训练

思路梳理想要数据上传到FATE,首先须要reader读入数据,能力后续进行训练,首先要保障reader能读入数据,不晓得是否能分批次读入? 上传数据后,FATE须要trainer进行训练,不止是否存在批次训练这种模式? 查看Reader类值得注意的是,Reader类并不在federatedml库外面,而是一个独自的pipeline库外面的组件。翻阅后发现Reader类继承了Output类。而Output类带有一个关键字data type: class Output(object): def __init__(self, name, data_type='single', has_data=True, has_model=True, has_cache=False, output_unit=1): if has_model: self.model = Model(name).model self.model_output = Model(name).get_all_output() if has_data: if data_type == "single": self.data = SingleOutputData(name).data self.data_output = SingleOutputData(name).get_all_output() elif data_type == "multi": self.data = TraditionalMultiOutputData(name) self.data_output = TraditionalMultiOutputData(name).get_all_output() else: self.data = NoLimitOutputData(name, output_unit) self.data_output = NoLimitOutputData(name, output_unit).get_all_output() if has_cache: self.cache = Cache(name).cache self.cache_output = Cache(name).get_all_output()对应的三个data type类也只不过是划分了data,并没有跟分批次相干的步骤 class SingleOutputData(object): def __init__(self, prefix): self.prefix = prefix @property def data(self): return ".".join([self.prefix, IODataType.SINGLE]) @staticmethod def get_all_output(): return ["data"]class TraditionalMultiOutputData(object): def __init__(self, prefix): self.prefix = prefix @property def train_data(self): return ".".join([self.prefix, IODataType.TRAIN]) @property def test_data(self): return ".".join([self.prefix, IODataType.TEST]) @property def validate_data(self): return ".".join([self.prefix, IODataType.VALIDATE]) @staticmethod def get_all_output(): return [IODataType.TRAIN, IODataType.VALIDATE, IODataType.TEST]class NoLimitOutputData(object): def __init__(self, prefix, output_unit=1): self.prefix = prefix self.output_unit = output_unit @property def data(self): return [self.prefix + "." + "data_" + str(i) for i in range(self.output_unit)] def get_all_output(self): return ["data_" + str(i) for i in range(self.output_unit)]所以Reader应该是只能单次吞入整个数据集,不可能分批次读入。 ...

May 5, 2023 · 3 min · jiezi

关于机器学习:IDEA封神榜大语言模型二郎神系列ErlangshenUbert110MChinese使用

官网文档和代码中的setup有谬误,我曾经提了PR,如果官网不merge请大家应用我这个版本:文档,https://github.com/Yonggie/Fengshenbang-doc;代码:https://github.com/Yonggie/Fengshenbang-LM。 装置就按官网的来,只不过下载的repo换成我那个 git clone https://github.com/Yonggie/Fengshenbang-LM.gitcd Fengshenbang-LMpip install --editable ./例子复制如下 import argparsefrom fengshen import UbertPipelinestotal_parser = argparse.ArgumentParser("TASK NAME")total_parser = UbertPipelines.pipelines_args(total_parser)args = total_parser.parse_args()args.pretrained_model_path = "IDEA-CCNL/Erlangshen-Ubert-330M-Chinese"test_data=[ { "task_type": "抽取工作", "subtask_type": "实体辨认", "text": "这也让很多业主据此认为,雅清苑是政府公务员挤对了国家的经适房政策。", "choices": [ {"entity_type": "小区名字"}, {"entity_type": "岗位职责"} ], "id": 0}]model = UbertPipelines(args)result = model.predict(test_data)for line in result: print(line)我改良了什么?对于二郎神系列模型Erlangshen-Ubert-110M-Chinese和对应330M的模型: 官网的文档example首先有typo谬误,是跑不通的,须要批改UbertPiplines把UbertPipelines(少了一个e)另外通过文档的装置形式也是不行的,因为代码的pytorch lightning写法是1.x的,当初2.x曾经不适宜了,官网的setup.py没有规定版本,我曾经更改。另外还短少了一些依赖,我也曾经在这个repo外面补充。我还退出了默认应用GPU,原版是默认不加的。模型有限度,只能batch size为128,能够批改,地位 modeling_ubert.py的class UbertDataModel(pl.LightningDataModule):小结 批改fengshen库的setup.py,规定version,若依照原setup会报错批改readme的example,批改typo(我的小时没了,切实是没察觉是文档少了个字母)更新了的文档在repohttps://github.com/Yonggie/Fengshenbang-doc外面

May 1, 2023 · 1 min · jiezi

关于机器学习:新浪张俊林大语言模型的涌现能力现象与解释

内容起源:ChatGPT 及大模型专题研讨会 分享嘉宾:新浪新技术研发负责人、中国中文信息学会理事 张俊林分享主题:《大型语言模型的涌现能力:景象与解释》 转载自:https://zhuanlan.zhihu.com/p/621438653 注1:本文整顿自我在往年3 月 11 日 “中国人工智能学会”主办、达观数据承办的「ChatGPT 及大模型专题研讨会」上《大型语言模型的涌现能力:景象与解释》的现场分享,介绍了大语言模型中的涌现景象,以及对于涌现能力背地起因的相干猜测。感激CSDN帮忙整顿的文字稿。 注2:另,有人问了,既然很多天然景象也体现出涌现能力,那么大语言模型的涌现景象须要解释吗?我集体认为是须要的。毕竟,说大语言模型的某个非凡景象属于“涌现景象”,也是被个别钻研提出来,未有确切证实或证据,是否它和天然景象中呈现的涌现景象外在机制是相似或一样的,其实能够存疑。而且我认为大模型的这个景象,背地应该有些咱们能够了解的起因。如果咱们不谋求景象背地的解释,仅仅把目前解释不了的景象对立归类为涌现或者其它什么概念,就此了之。那么,其实咱们也能够把大模型的目前了解不了的很多景象,对立归类为这是一种“神迹”,那世界上很多事件就简略多了。另另,用Grokking解释涌现景象,只管我把它称为”用玄学解释玄学“,然而感觉还是值得深刻摸索的方向,兴许能够把下面的说法,优化为”用含玄量较低的玄学解释另外一个含玄量较高的玄学“。 注3:如果仔细分析的话,大语言模型的这个所谓“涌现景象”,如果仅仅把景象归因于模型规模,目前看大概率是把问题简化了,很有可能影响因素是多样化的。如果让我演绎的话,某个工作,大语言模型是否会呈现“涌现景象”这个变量 y,很可能是以下多因素影响的某个未知函数: 而对于此,须要进一步更深刻的钻研与解释。 一、什么是大模型的涌现能力简单零碎学科里曾经对涌现景象做过很久的相干钻研。那么,什么是“涌现景象”?当一个简单零碎由很多渺小个体形成,这些渺小个体凑到一起,相互作用,当数量足够多时,在宏观层面上展现出宏观个体无法解释的非凡景象,就能够称之为“涌现景象”。 生存中的涌现景象在日常生活中也有一些涌现景象,比方雪花的造成、堵车、动物迁徙、涡流造成等。这里以雪花为例来解释:雪花的形成是水分子,水分子很小,然而大量的水分子如果在外界温度条件变动的前提下相互作用,在宏观层面就会造成一个很法则、很对称、很漂亮的雪花。那么问题是:超级大模型会不会呈现涌现景象?显然咱们很多人都晓得答案,答案是会的。 大语言模型参数增长示意图咱们先来看下大语言模型的规模增长状况。如果演绎下大语言模型在近两年里最大的技术停顿,很有可能就是模型规模的快速增长。现在,大规模模型个别超过 100B,即千亿参数。如 Google 公布的多模态具身视觉语言模型 PaLM-E,由540B 的 PaLM 文本模型和 22B 的 VIT图像模型形成,两者集成解决多模态信息,所以它的总模型规模是 566B。大语言模型规模一直增长时,对上游工作有什么影响?对于不同类型的工作,有三种不同的体现:第一类工作体现出伸缩法令:这类工作个别是常识密集型工作。随着模型规模的一直增长,工作成果也持续增长,阐明这类工作对大模型中常识蕴涵的数量要求较高。 伸缩法令与涌现能力第二类工作体现出涌现能力:这类工作个别是由多步骤形成的简单工作。只有当模型规模大到肯定水平时,成果才会急剧增长,在模型规模小于某个临界值之前,模型根本不具备工作解决能力。这就是典型的涌现能力的体现。这类工作呈现出一种共性:大多数是由多步骤形成的简单工作。 第三类工作数量较少,随着模型规模增长,工作成果体现出一个U 形曲线。如上图所示,随着模型规模增长,刚开始模型成果会呈降落趋势,但当模型规模足够大时,成果反而会晋升。如果对这类工作应用 思维链CoT技术,这些工作的体现就会转化成伸缩法令,成果也会随着模型规模增长而持续上升。因而,模型规模增长是必然趋势,当推动大模型规模一直增长的时候,涌现能力的呈现会让工作的成果更加杰出。 二、LLM体现出的涌现 目前有两大类被认为具备涌现能力的工作,第一类是 In Context Learning(“Few-Shot Prompt”),用户给出几个例子,大模型不须要调整模型参数,就可能解决好工作(参考上图给出的情感计算的例子)。如上图展现,利用In Context Learning,曾经发现在各种类型的上游工作中,大语言模型都呈现了涌现景象,体现在在模型规模不够大的时候,各种工作都解决不好,然而当跨过某个模型大小临界值的时候,大模型就忽然能比拟好地解决这些工作。第二类具备涌现景象的技术是思维链( CoT)。CoT实质上是一种非凡的few shot prompt,就是说对于某个简单的比方推理问题,用户把一步一步的推导过程写进去,并提供给大语言模型(如下图蓝色文字内容所示),这样大语言模型就能做一些绝对简单的推理工作。 从上图能够看出,无论是数学问题、符号推理问题,CoT 都具备涌现能力。 除此之外,其余工作也有涌现能力,如上图所示的数学多位数加法、命令了解等。 三、LLM模型规模和涌现能力的关系能够看出,涌现能力和模型的规模大小有肯定的关联关系 ,那么,咱们的问题是,具体而言,两者是怎么的关系呢? 咱们分头来看,先看下In Context Learning 的涌现能力和模型规模的关系。上图展现了对于不同类型的具体任务, In Context Learning 的涌现能力和模型规模的对照关系。从图中数据能够看出,咱们很难给出一个惟一的模型大小数值。不同类型的工作,在In Context Learning方面,模型多大才具备涌现能力,这跟具体的工作有肯定的绑定关系。例如:图表第一行的3位数加法工作,模型只有达到 13B(130亿参数),就能够具备涌现能力,然而对倒数第二行的 Word in Context Benchmark工作而言,目前证实,只有540B 大小的模型才能够做到这点。咱们只能说,就In Context Learning而言,如果模型达到 100B, 大多数工作能够具备涌现能力。 ...

April 28, 2023 · 1 min · jiezi

关于机器学习:部署像ChatGPT这样的大语言模型到底需要花多少钱

ChatGPT 与开源模型,二者之间有哪些优劣衡量?谁的部署老本更低?对于日均申请在 1000 次左右的低频应用场景,ChatGPT 的实现老本低于部署在 AWS 上的开源大模型。但面对每天数以百万计的申请,在 AWS 上部署开源模型则老本更低。 大语言模型正席卷寰球。随着 2017 年 Transformers 的推出,BERT、GPT 和 BART 等突破性模型开始陆续亮相,凭借亿级参数在情感剖析、问答、分类等语言工作当中带来了前所未见的弱小能力。 几年之前,OpenAI 和谷歌的钻研人员已经整顿出多篇论文,表明领有超百亿参数的大语言模型呈现了“涌现”能力。简言之,它们仿佛可能了解语言中种种简单奥妙之处,并取得了与人类类似的情境反馈。 GPT-3 论文提到,参数在 10 亿至 1000 亿级别的模型只需几十个提醒词,即可展现出令人印象粗浅的学习能力。 然而,这些大模型也极耗资源,导致在经济意义上难以实现规模化部署。但这所有随着 ChatGPT 的到来而宣告终结。 就在 ChatGPT 公布后不久,OpenAI 又凋谢了 ChatGPT API,容许开发人员在本人的应用程序中接入 ChatGPT。 ChatGPT API 应用老本ChatGPT API 的价格随应用形式而变动。其老本为每 1000 个 token 计费 0.002 美元。每个 token 约为一个英文单词的 3/4,就是说,一条申请内的 token 数量等于提醒词 + 所生成的输入 token 的总和。 假设大家每天须要解决 1000 个小文本块,每个文本块对应一页文本(即 500 个单词,约合 667 个 token),那么日均老本就是 0.002 美元 /1000x667*1000= 约 1.3 美元。听起来还能够! ...

April 27, 2023 · 2 min · jiezi

关于机器学习:阿里云机器学习PAI发布基于HLO的全自动分布式系统-TePDist并宣布开源

导读始终以来,大模型在模型成果上被证实具备显著劣势。而ChatGPT的呈现,证实了其在工业生产工具方面具备微小后劲。毫无疑问,大模型的训练须要微小的算力,这对分布式并行框架是一项考验。现如今,业界越来越多的团队纷纷转向分布式框架的钻研与开发之中,既有针对特定场景特定模型的极致手工优化,也包含面向通用模型通用场景的主动分布式工作。然而,它们在理论生产场景依然有一些挑战。一方面,对于手工优化的框架,尽管其特定状况下的性能较为极致,但通用性存在限度。另一方面,现有的主动分布式框架可能在通用性和性能方面体现较好,但通常须要忍耐较长的策略搜寻工夫,进而对业务落地产生肯定的影响。为了应答以上问题,PAI 团队推出并开源了TePDist(Tensor Program Distributed System),它通过在HLO上做分布式策略搜寻,实现与用户模型语言解耦。并且在放弃通用性的同时,在可承受的策略搜寻工夫内,谋求高性能分布式策略。 TePDist背地的技术框架如何设计?将来有哪些布局?明天一起来深刻理解。 TePDist是什么?TePDist是阿里云PAI团队自研的基于HLO IR层的全自动分布式深度学习零碎,它不仅仅是一个分布式Compiler,还领有本人的分布式Runtime,无效地解决了深度学习模型并行策略的主动搜寻与分布式策略施行问题。 在架构方面,TePDist采纳Client/Server模式,实现分布式策略与模型形容的解耦。Server端是TePDist最重要局部,它以HLO IR作为输出,主动摸索并施行分布式并行策略;Client端以用户形容的模型为输出,将其转换成HLO IR。因而,任何具备转换HLO IR能力的Client,都可通过适配后接入Server端。 在性能方面,TePDist分为两个局部。一是在HLO IR上进行SPMD(Data Parallel和Sharding)和Pipeline并行的策略搜寻。并以此构建编译基于Task Graph的执行打算。二是高效运行执行打算的分布式执行引擎。 在应用方面,TePDist提供了不同优化级别,高优化级别更加谋求分布式策略品质,低优化级别会额定采取一些Heuristic,以较为渺小策略品质就义,换取更快地搜寻工夫,以此满足落地需要。 我的项目开源地址:https://github.com/alibaba/TePDist TePDist的次要个性如下: 一套残缺的零碎:采纳Client/Server模式。Client能够是任何可能生成XLA HLO的前端。Server负责进行分布式策略布局,以及主动分布式工作拉起。Client与Server解耦的动机是冀望未来更不便地对接不同的前端框架。以HLO IR作为Server端输出:HLO的粒度刚刚好,目前看到的超大模型基本上有上万条HLO指令。在HLO这个层级做分布式策略布局,能够防止依赖灵便多变的模型高层次形象,以不变应万变。全自动摸索分布式策略:TePDist反对在没有任何annotation的状况下做策略搜寻。当然,用户也能够抉择通过annotation进行肯定水平的干涉。定义不同优化级别:用户能够抉择应用O2和O3两个优化级别,用以控制策略搜寻工夫。它们均为Cost based策略搜寻办法。其中O2级别采纳了肯定的Heuristic,会以就义轻微的并行策略品质为代价,换取更快地搜寻工夫,这对超大规模模型十分有用。O3级别对策略的品质有肯定的保障。正当拆解策略搜寻问题:TePDist采纳了多种手段,把策略摸索问题拆解成优化子问题,使用多种算法,别离对子问题进行求解,无效治理了问题的复杂性。具备特色的流水线并行布局:无需把DAG排成拓扑线性序,咱们把stage划分建模成整数线性规划问题(ILP),应用ILP Solver主动寻找通信量最小的切分计划。TePDist架构TePDist采纳Client/Server拆散的架构,将前端模型构建与后端策略搜寻施行解耦。Server端分为两个过程: 编译(Build Execution Plan):在这个过程中会构建执行打算,包含:主动分布式策略的搜寻,device mesh的调配,TepDist执行引擎的构建——Task Graph的构建以及为Task Graph确定动态调度程序。架构和流程列于下图左图中;运行(Execute Plan):编译阶段实现后,Client下达Input data供应指令,即可触发运行该Execution Plan的运行。为了谋求高性能和高可控性,咱们齐全自研了TePDist的运行时,具体蕴含无损分布式初始化,分布式checkpoint,NCCL简单通信域的治理,多worker协同治理,以及Task Graph级别的Memory reuse等。架构和流程列于下图右图中; 主动分布式策略搜寻SPMD Strategy因为HLO指令数较多,间接应用ILP建模求解可能会因问题规模过大,导致搜寻工夫过长。显然,通过缩图能够减小问题求解的规模。为此,TePDist将DAG划分为了三个层级,并对每层应用不同的优化办法进行求解。 1.Cone构造 HLO DAG中存在大量的Cone构造,它对咱们的Formulation十分重要。什么是Cone构造?它是蕴含两种节点的子图:Root节点和非Root节点。其中,Root节点为具备多个输出或特色为计算密集型的节点;非Root节点为其余节点。咱们能够在HLO的DAG中辨认所有的Cone构造。大多数Cone构造都呈现出“倒三角”的状态,如上图中灰色三角区域标出的局部。显然,Cone代表更粗粒度的节点,咱们的算法须要为每个Cone确定切分策略。每个Cone应该有多少种可能得切分策略?答案是取决于其Cone Root有多少种切分策略。具体做法:在Cone内,通过对Cone Root节点枚举的每种切分策略,咱们都能够以通信代价最小为指标,通过贪婪或动静布局办法求解Cone内残余节点的切分策略。由此,咱们能够失去该Cone的多种不同切分策略,这些策略都是每个Cone的候选策略。 2.Segment 尽管Cone构造的粒度更粗,在肯定水平上缩减了问题规模。但对大模型来说,Cone的数量仍然微小,可能须要进一步解决。事实上,大模型在构造方面具备反复重叠的特色。这意味着每个模型可能能够划分为多个相似“layer”的构造,从而将大模型分而治之。为此,咱们剖析了PAI平台上运行的Workload,并总结了一种通用的分图解决办法。通过图剖析辨认图中所有的要害节点(Critical nodes),并以它们为分图距离点,将整体模型划分为近似线性的多个Segment,如上图中标出的三个Segment,每个Segment都蕴含若干Cone构造。这里同样存在一个问题:每个Segment须要保留多少种候选策略?答案是取决于其蕴含的所有Critical nodes的切分策略数量组合。在做法上,通过对每个Critical node枚举切分策略,以其外部的Cone为根本单元,以最小通信代价为指标,应用整数线性规划(ILP)确定该segment的整体切分策略。 对于critical nodes的辨认,能够参考咱们论文中的形容。 3.整体Graph Segment之间的近线性拓扑,人造适宜动静布局求解。上述为每个Segment确定候选切分策略后,TePDist以最小通信代价为指标,应用动静布局(DP)对整体DAG实现确定惟一策略。 Pipeline StrategyTePDist在划分Pipeline stage时的一大特点是不须要将DAG排成线性序列。并且,TePDist将Stage划分建模成整数线性规划(ILP)问题求解。划分的根本准则是尽量保障各个stage计算量平均的状况下,谋求最小的通信切面。因为,DAG中的每个节点都能够找到它的先人节点和后继节点,这种前驱后继的依赖关系能够被形容成ILP问题的线性束缚,如下图中蓝色和红色所示。在策略搜寻工夫的压缩方面,TePDist向用户提供了用于管制stage计算平均性比率的管制接口。Pipeline建模的具体formulation能够参考咱们的论文。 分布式执行引擎TePDist本人定制了执行引擎,通过将HLO computation实例化并组织成Task Graph,且采纳动态调度执行。 Task Graph为了可能组合各种各样的并行模式,咱们形象了Task Graph。当将并行策略利用到HLO上时,被拆分或切分的多个HLO computation须要组合成残缺的执行逻辑,为此咱们形象出了Task Graph,它由一系列具备连贯关系的Task Node组成。在Task Graph中,咱们约定Source和Sink为起始和终止节点,其余Task Node均为各种HLO computation的实例。举例说明,对含有Gradient Accumulation的训练任务,原始的HLO computation被切分为Compute Gradients、Gradient Accumulation和Apply Gradients三个局部。那么由此创立三种不同的Task Node,而后组合成残缺的执行逻辑。下图展示了三种切分策略时,Task Graph的具体状态。 ...

April 27, 2023 · 1 min · jiezi

关于机器学习:Apache-Flink-ML-220-发布公告

起源 | Apache Flink 官网博客 翻译 | 林东 Apache Flink 社区很荣幸地发表 Apache Flink ML 2.2.0 版本正式公布!本次公布的版本重点增加了 Flink ML 中的特色工程算法。当初 Flink ML 蕴含了 33 个开箱可用的特色工程算法,能够反对很多常见的特色工程工作。 随着这些算法的增加,咱们置信 Flink ML 曾经筹备好用于须要特色工程的生产作业,例如预处理离线和在线机器学习工作的输出数据。 咱们激励您下载该版本 [1] 并通过 Flink 邮件列表 [2] 或 JIRA [3] 与社区分享您的反馈!咱们心愿您喜爱新版本,并且咱们期待理解您的应用体验。 重要个性1. 引入在线推理服务须要的接口和基础设施在机器学习中,模型训练的次要指标之一是将已训练好的模型部署并反对在线推理。在线推理服务须要以毫秒级提早响应传入申请。之前公布的 Flink ML 算子仅反对应用 Flink 流解决引擎进行近线推理,提早性能无奈满足在线推理的须要。 通过应用 FLIP-289 [4] 所提供的接口,Flink ML 当初反对用户从由 Estimator 生成的模型数据加载 ModelServable。这个 ModelServable 能够被复制和部署在多个模型推理服务器上,执行大规模分布式的在线模型推理。并且,ModelServable 不依赖 Flink 的流解决引擎,它还能够作为 Java UDF 集成到其余服务或解决框架中,读取由 Flink ML 生成的模型数据来进行离线或在线模型推理。 作为展现,咱们增加了 LogisticRegressionModelServable 算子,反对 LogisticRegression 在线推理。咱们将在接下来的 Flink ML 公布中增加更多 Servable 算子,让 Flink ML 训练失去的模型数据能在更宽泛的场景中产生价值。 ...

April 26, 2023 · 1 min · jiezi

关于机器学习:不说谎的榜单微帧科技入选2023真榜科技创新准独角兽TOP30

4月21日,铅笔道“2023AIGC科技大会”暨“2023真榜•科技翻新独角兽TOP 90”榜单公布典礼在北京璞邸酒店举办。微帧科技凭借着过硬的视频技术实力、全球化的产品影响力、勤于钻研的创新力,胜利入选 「2023真榜•科技翻新准独角兽TOP30」。 真榜作为铅笔道的旗舰榜单,在整个创投圈乃至各行各业都极具权威性,真榜的愿景是做翻新经济下“不说谎的榜单”,用最实在主观的评估伎俩,发现影响时代的创新者。铅笔道始终践行“不说谎”的价值观,用捕风捉影的态度,绝对迷信的评估体系,聚焦于中国科技翻新畛域,主观实在地开掘具备影响时代意义的翻新企业。 据铅笔道介绍,相比往届的综合类榜单,2023真榜评比规范侧重于长趋势、硬科技,寻找能代表将来30年提高方向的中国科创力量,且在以往真榜评估体系的根底上,特意减少了“科技含量”维度:从开创团队履历、科研团队形成、研发费用占比、主营业务的科技壁垒等多维考查,评估企业的科技翻新档次。本次真榜后果历经 100 天评估,评估维度超过 50 个,以问卷调研、第三方数据库、铅笔道 DATA、 专家核实等伎俩, 调研了超过 2500 家企业,最终微帧科技可能通过层层筛选,从泛滥企业中怀才不遇,再次证实了微帧的技术实力。 微帧科技(Visionular)作为寰球当先的视频编码与AI解决方案提供商、凋谢媒体联盟(AOM)的首家中国区会员,以“让寰球每一位用户享受极致视频体验”为使命,汇聚了AI、视频编码、图像处理的业界顶尖团队,在视频编码、深度学习、图像处理、计算机视觉等畛域深耕20余年,凭借着对视频技术的钻研精力,微帧科技研发出了更高效、更实用于理论利用场景的视频编码及超高清产品,目前已取得泛娱乐、教育、广电OTT、智能监控、云桌面等畛域的100+家行业头部企业的抉择与认可,每月解决视频数量超五亿分钟,成为了视频编码技术的领跑者。 自成立以来,微帧科技就秉承着“与时代同行,与行业独特倒退,回绝闭门造车”的初心,先后退出了AOM凋谢媒体联盟、元宇宙国际联盟、UWA世界超高清视频产业联盟、SRT协定联盟等行业联盟,与业界交换的同时吸取营养,增强技术创新。去年7月,微帧作为视频技术畛域的惟一代表,荣登第十届寰球云计算大会并取得「2021-2022年度最具后劲企业奖」;12月,微帧荣登权威媒体ToB行业头条评比的「2022中国ToB创新力企业TOP30」榜单......这一系列的殊荣,都充分体现了微帧科技作为“准独角兽”的实力。 正如铅笔道所言,将来30年,守业命运将与国运深度绑定:翻新守业将肩负“大国翻新”的使命,科技翻新将肩负“大国科技”的使命。微帧科技作为科技行业的中坚力量,定将一直积淀本身的科技创新能力,贯彻自主可控的翻新思维,一直冲破技术瓶颈,强化技术劣势,奋力推动行业高质量倒退迈上新台阶。

April 25, 2023 · 1 min · jiezi

关于机器学习:基于-Amazon-SageMaker-构建细粒度情感分析应用

背景介绍细粒度情感剖析(Aspect-Based Sentiment Analysis,ABSA)因为其广大的业务价值而吸引越来越多的从业者投身其中,通过剖析客户评论数据中的情感偏好往往有利于企业探寻客户关注点,开掘客户需要,减速产品迭代,进步营销效率,欠缺售后服务等。毫不夸大地说,发掘出客户的声音(voice of customer)就抢占了企业倒退的先机。 Voice of Customer (VOC) 是近年来各行业都在关注的概念,而亚马逊作为寰球最重视“以客户为核心”理念的企业早在2018年就推出了“买家之声”(VOC)板块,助力买卖双方互利共赢。Amazon 始终致力于“以客户为核心”的技术创新,针对 VOC 场景, 咱们针对不同行业客户的理论业务需要进行了宽泛的技术实际,并且最终基于自然语言生成(NLG)技术联合 Amazon SageMaker 搭建了一套高效的、可定制的、细粒度的生成式评论剖析计划, 以提取评论中不同方面(Aspect)的情感极性并且以其中的观点词(Opinion)为佐证。 举个例子:“明天的沙拉很好吃然而牛排不陈腐”,这里同时存在两个情感极性,对于正向情感(positive), 其方面词是“沙拉”,对应的观点词为“很好吃”;对于负向情感(negative),其方面词是“牛排”,对应的观点词为“不陈腐”。在这样的场景下,咱们通过AI把用户留言进行了更高维度的常识提取(方面词,方面词类别,观点词,情感极性),这些高维常识使得客户能够更精准地对(几千倍几万倍的机器标签)用户进行分类,从而在广告投放、行为诱导、客户服务和产品升级方面有更优化的办法。 Amazon SageMaker 是亚马逊云计算(Amazon Web Service)的一项齐全托管的机器学习平台服务,算法工程师和数据科学家能够基于此平台疾速构建、训练和部署机器学习 (ML) 模型,而无需关注底层资源的治理和运维工作。它作为一个工具集,提供了用于机器学习的端到端的所有组件,包含数据标记、数据处理、算法设计、模型训练、训练调试、超参调优、模型部署、模型监控等,使得机器学习变得更为简略和轻松;同时,它依靠于 Amazon 弱小的底层资源,提供了高性能 CPU、GPU、弹性推理加速卡等丰盛的计算资源和短缺的算力,使得模型研发和部署更为轻松和高效。同时,本文还基于 Huggingface,Huggingface 是 NLP 驰名的开源社区,并且与 Amazon SagaMaker 高度适配,能够在 Amazon SagaMaker 上以几行代码轻松实现 NLP 模型训练和部署。 亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!解决方案概览在此示例中,咱们将应用 Amazon SageMaker 执行以下操作: 环境筹备数据筹备应用 Amazon SageMaker BYOS 进行模型训练托管部署及推理测试环境筹备咱们首先要创立一个 Amazon SageMaker Notebook,因为本次试验全程不会用到本地 GPU 训练,所以笔记本实例类型能够任意抉择。 笔记本启动后,关上页面上的终端,执行以下命令下载代码。 cd ~/SageMakergit clone https://github.com/HaoranLv/GAS-SageMaker.git数据筹备目前的 ABSA 存在多种子工作,别离用于聚焦于不同的情感元素,这里咱们给出目前支流的 ABSA 工作: 因为子工作泛滥,故本文以 TASD 为例进行试验,数据依照固定格局存储到 txt 文件中,具体格局为: ...

April 23, 2023 · 2 min · jiezi

关于机器学习:人工智能的预训练基础模型的分类

预训练根底模型预训练根底模型是指在大规模语料库上进行预训练的通用人工智能模型。在自然语言解决(NLP)畛域,这些模型通常是基于深度神经网络的语言模型,能够用于各种工作,如文本分类、命名实体辨认、机器翻译等。 目前,人工智能畛域的预训练根底模型次要有以下几种: BERT(Bidirectional Encoder Representations from Transformers):由Google开发,是以后最为风行的预训练模型之一。BERT是一个双向Transformer编码器,可能学习上下文相干的词向量示意,具备很强的泛化能力。GPT(Generative Pre-trained Transformer):由OpenAI开发,是一种基于Transformer的自回归语言模型,可能生成连贯的文本。GPT模型曾经公布了多个版本,包含GPT-2~4 等。RoBERTa(Robustly Optimized BERT Pretraining Approach):由Facebook开发,是BERT的改进版。RoBERTa在BERT的根底上进行了一系列优化,如更长的训练工夫、更大的训练数据、动静掩码等。T5(Text-to-Text Transfer Transformer):由Google开发,是一种基于Transformer的通用文本转换模型。T5应用encoder-decoder框架,能够用于各种NLP工作,如文本分类、命名实体辨认、问答零碎等。这些预训练根底模型曾经在很多NLP工作中获得了优异的体现,并成为了以后NLP畛域的钻研热点。 大规模语料库在人工智能畛域,大规模语料库指的是蕴含大量文本数据的语料库。这些语料库通常由各种类型的文本组成,包含新闻文章、网页、社交媒体数据、科学论文等等。这些语料库的规模能够从数百万到数十亿不等,其中每个文本都能够是短语、句子或者段落。 这些大规模语料库被用来训练各种人工智能模型,特地是自然语言解决(NLP)畛域的预训练模型。通过在这些语料库上进行训练,人工智能模型能够学习到大量的语言常识,包含词汇、语法、语义等等,从而可能在各种NLP工作中表现出色。 一些驰名的大规模语料库包含: 维基百科语料库:蕴含维基百科中的所有页面内容,涵盖了丰盛的常识畛域。Common Crawl:一个存档互联网的我的项目,收集了大量的网页数据,笼罩了不同的主题和语言。新闻语料库:蕴含了大量的新闻报道,涵盖了各种主题和事件。社交媒体语料库:包含了Twitter、Facebook等社交媒体平台上的文本数据,是剖析公众舆论和社交趋势的重要资源。这些大规模语料库的建设和保护须要大量的人力和技术支持,但对于NLP畛域的钻研和利用具备重要的意义。 深度神经网络深度神经网络(Deep Neural Network,DNN)是一种模拟人脑神经网络结构的人工神经网络,被广泛应用于人工智能畛域,尤其是机器学习畛域。它由多层神经元组成,每一层都蕴含多个节点(神经元),每个节点都与上一层的所有节点连贯,并通过激活函数将输出信号转化为输入信号,最终输入层提供最终的预测后果。 深度神经网络的训练是通过反向流传算法实现的,即从输入层开始,通过计算误差并反向调整每个节点的权重,逐层迭代调整网络参数,从而使网络的预测后果更加精确。深度神经网络的训练须要大量的数据和计算资源,并且在训练过程中容易呈现过拟合等问题。 深度神经网络在人工智能畛域的利用十分宽泛,包含图像识别、语音辨认、自然语言解决、举荐零碎等等。目前,深度神经网络曾经成为了许多人工智能技术的外围组成部分,为实现更加智能化的利用提供了强有力的反对。 过拟合问题过拟合是深度神经网络训练过程中常见的问题之一,指的是网络在训练数据上表现出色,但在测试数据或新数据上体现较差的景象。当深度神经网络的简单度过高或训练数据量较少时,过拟合问题就容易产生。 深度神经网络在训练过程中会调整网络参数,使得网络可能更好地拟合训练数据,但这可能导致网络过于适应训练数据的特点,而疏忽了一般性的法则。这样,在测试数据或新数据上,网络就会呈现较高的误差,导致预测性能降落。 为了解决过拟合问题,通常采纳以下几种办法: 数据加强:减少训练数据集的样本数量和多样性,能够进步网络的泛化性能。正则化:通过在损失函数中增加正则化项,克制网络参数过大,升高网络的复杂度,从而防止过拟合。早停法:在训练过程中,依据验证集的性能体现,抉择一个适合的迭代次数,防止网络适度拟合训练数据。Dropout:在网络训练过程中,随机屏蔽一些神经元,使得网络无奈依赖于某些特定神经元的输入,进步网络的泛化性能。模型集成:通过组合多个不同的神经网络模型,能够取得更好的泛化性能,升高过拟合危险。这些办法能够在肯定水平上缓解深度神经网络的过拟合问题,进步网络的泛化性能。但在理论利用中,须要联合具体场景和数据特点,采纳适合的办法来升高过拟合的危险。 TransformerTransformer是一种基于自注意力机制的深度神经网络模型,在人工智能畛域的自然语言解决工作中广泛应用。它由Google公司在2017年提出,是一种针对序列数据处理的新型神经网络构造,能够代替以往罕用的递归神经网络和卷积神经网络。 Transformer次要解决了递归神经网络在解决长序列数据时计算复杂度高、训练难度大的问题。它采纳了自注意力机制,即在计算序列中每个元素的示意时,思考序列中其余元素的信息,并依据其重要水平对其进行加权均匀,从而捕获序列中的全局信息,防止了序列计算中信息损失的问题。 Transformer模型次要由编码器和解码器两局部组成,编码器用于将输出的序列编码为一个固定长度的向量示意,解码器则用于将这个向量示意解码为指标序列。它能够被利用于诸如机器翻译、自然语言生成、文本分类等工作。 Transformer在自然语言解决畛域的利用成果优良,其在翻译工作上的体现甚至超过了传统的基于递归神经网络的模型。因而,Transformer曾经成为了自然语言解决畛域的重要技术之一,并受到了宽泛的关注和利用。 递归神经网络递归神经网络(Recurrent Neural Network,RNN)是一类可能解决序列数据的神经网络模型,被广泛应用于人工智能畛域的自然语言解决、语音辨认、图像识别等工作中。 RNN通过引入记忆单元(memory cell)来捕获序列数据之间的依赖关系。在每个工夫步,网络会接管以后工夫步的输出和上一个工夫步的暗藏状态(hidden state),并输入以后工夫步的暗藏状态和对应的输入。这种“记忆”机制使得网络可能在解决序列数据时保留之前的信息,并依据以后的输出更新暗藏状态,从而适应序列数据的动态变化。 然而,传统的RNN存在梯度隐没或梯度爆炸的问题,导致训练过程不稳固、收敛迟缓等问题。因而,在理论利用中,通常采纳一些改良的RNN模型,如长短时记忆网络(Long Short-Term Memory,LSTM)和门控循环单元(Gated Recurrent Unit,GRU)等。 LSTM和GRU采纳了不同的“门控”机制,可能更好地解决长序列数据,并在自然语言解决等工作中取得了较好的成果。此外,还有一些基于RNN的变种模型,如双向循环神经网络(Bidirectional RNN,BiRNN)和重叠循环神经网络(Stacked RNN)等,它们进一步扩大了RNN在序列数据处理中的能力。 总之,RNN是一类弱小的序列数据处理工具,在人工智能畛域的各种利用中具备宽泛的利用前景。

April 21, 2023 · 1 min · jiezi

关于机器学习:借助计算机建模及-eBird-数据集马萨诸塞大学成功预测鸟类迁徙

本文首发自 HyperAI超神经微信公众号~ 内容一览:近日,英国生态学会期刊《Methods in Ecology and Evolution》上公布了一个新的预测模型 BirdFlow,其可能解决生物学目前最艰难的挑战之一:精确预测留鸟的静止轨迹。尽管该模型目前仍在欠缺中,但钻研人员称可能在一年之内向公众凋谢,并投入使用。本文是对这项钻研的介绍和解读。关键词:BirdFlow 天然爱护 概率模型 鸟类迁徙是一个令人着迷的天然景象。据理解,世界上近五分之一的鸟类会因滋生和越冬而进行定期的迁徙。在生态学中,钻研鸟类迁徙路线等生态法则,对爱护濒危鸟种、保护生态平衡、避免流行病的流传等具备重要意义。 近年来,因为寰球气候变化以及人类流动等因素的影响,预测鸟类迁徙变得更加艰难。近期,马萨诸塞州立大学阿姆赫斯特分校的研究生 Miguel Fuentes 和康奈尔大学的 Benjamin M. Van Doren 等在《Methods in Ecology and Evolution》期刊上发表了一个新的概率模型 BirdFlow,该模型利用计算机建模和 eBird 数据集来精确预测留鸟的航行门路。 论文地址: https://besjournals.onlinelibrary.wiley.com/doi/full/10.1111/... 钻研人员利用 eBird Status & Trends project 产生的绝对丰度预计 (abundance esitimates) 来模仿鸟类挪动,不过其中也有一个问题,过往绝对丰度信息只能显示出每周鸟类的地位范畴,并不能追踪个体。因而在本次钻研中,钻研人员重点解决了这个问题,要害流程如下图所示: Data Preprocessing:预处理绝对丰度预计以产生每周的种群散布;loss function:指定一个损失函数,应用每周散布以及能量老本的代理对潜在的模型进行评分;Model Structure:抉择一个模型构造;Trained Model:通过数值过程优化损失函数以抉择最佳的模型参数;Validation:计算实在鸟类的均匀对数似然和 PIT 值,来验证训练后的模型。BirdFlow 建模概览钻研人员应用 ebird R 从 eBird Status & Trends 中下载了 11 种鸟类的绝对丰度估计值,并且这 11 种鸟类还有可用的 GPS 或卫星跟踪数据。 eBird Status and Trends: https://science.ebird.org/zh-CN/status-and-trends 下一步,钻研人员定义了一个损失函数,该损失函数基于从 eBird Status&Trends 中导出每周种群散布、鸟类在不同地位之间的静止能量老本以及熵正则化项。 ...

April 21, 2023 · 1 min · jiezi

关于机器学习:机器学习XGBoost算法介绍

动动发财的小手,点个赞吧! 1. 简介 XGBoost (eXtreme Gradient Boosting)是一种用于回归、分类和排序的机器学习算法。它是GBDT(Gradient Boosting Decision Trees)的一种高效实现,可能在大规模数据集上运行,并具备很强的泛化能力。XGBoost在2016年KDD Cup比赛中博得了冠军,也被广泛应用于数据挖掘、自然语言解决、计算机视觉和举荐零碎等畛域,成为了许多数据科学家和机器学习工程师的首选算法之一。 2. 原理 XGBoost是基于梯度晋升树的算法,算法的外围是应用多个弱学习器,通过逐渐优化损失函数来构建一个强学习器。具体来说,每个弱学习器是一个决策树模型,而XGBoost采纳了一个自定义的损失函数,使得在构建每棵树的过程中可能同时思考误差的大小和复杂度。另外,XGBoost还应用了一种正则化技术,即L1和L2正则化,来防止过拟合。 在每一轮迭代中,XGBoost会计算出每个样本的梯度和Hessian矩阵,用于构建决策树。而后,依据损失函数的梯度和Hessian矩阵,计算出每个节点的决裂增益,以确定哪个特色和阈值能够使损失函数最小化。最初,利用贪婪算法抉择决裂点,生成一颗新的决策树。在屡次迭代后,XGBoost将多个决策树联合起来,造成一个强学习器。 3. 代码实现XGBoost算法的代码实现须要用到Python或R语言。Python的xgboost库提供了XGBoost算法的Python接口,能够不便地进行模型训练和预测。上面是一个简略的Python代码实例,演示如何应用XGBoost进行分类。 import xgboost as xgbfrom sklearn.datasets import load_breast_cancerfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score# 加载数据集data = load_breast_cancer()X, y = data.data, data.target# 划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 转化为XGBoost特有的数据格式dtrain = xgb.DMatrix(X_train, label=y_train)dtest = xgb.DMatrix(X_test, label=y_test)# 设置参数params = { 'max_depth': 3, 'eta': 0.1, 'objective': 'binary:logistic', 'eval_metric': 'error'}# 训练模型num_rounds = 100model4. 利用方向XGBoost可用于许多机器学习工作,包含分类,回归,排名和聚类。其次要利用方向包含金融风控、自然语言解决、图像识别、医疗衰弱、广告举荐等畛域。它在一些驰名的数据比赛中也获得了很好的问题,例如Kaggle上的“房价预测”、“银行营销预测”等较量。金融风控:应用XGBoost预测贷款守约危险,以便银行可能更好地 本文由mdnice多平台公布

April 18, 2023 · 1 min · jiezi

关于机器学习:定了9-月AICON-中东峰会正式启动

AI 技术近期因为诸如 ChatGPT、Midjourney 等大模型利用而频频震惊世人,让人们得以更有真实感地畅想将来世界的有限可能。面对 AI 技术的蓬勃发展与日益丰盛的利用场景,咱们决定举办一场独特而引人入胜的 AI 峰会——2023 LFAICON 中东峰会,旨在汇聚寰球顶级专家、企业家和创新者,摸索人工智能技术的前沿倒退、产业利用和商业化趋势。 2023LF AICON 中东峰会是一场汇聚寰球 AI 畛域精英的盛会,本次会议将于 9 月中旬在漂亮的利雅得或者国际化的迪拜举办,由享有盛誉的 LF AI&DATA 基金会主办,星策开源社区、OpenTEKr 社区联结主办。 2023LF AICON 中东峰会将聚焦人工智能技术的翻新与改革,以国际化视角全景式勾画人工智能倒退蓝图,为参会者出现一个充斥智慧与翻新的将来世界。在这里,寰球各行各业的中高端技术人员,以及 200 多位 AI 畛域的研发专家、架构师、技术首领和领军企业代表将齐聚一堂,独特探讨人工智能畛域的最新动静、发展趋势与实践经验。 本次会议将设置多个专题论坛,涵盖了 AI 产业、技术、翻新、开源,以及近期炽热的 AIGC 等宽泛畛域,为参会者奉上一场常识与洞见的盛宴: •AI 产业方向上将重点关注人工智能在各行业利用的实际案例和成功经验,分享寰球范畴内 AI 技术的产业发展趋势及挑战。 •AI 技术则将聚焦最新的 AI 技术倒退,包含深度学习、机器学习、自然语言解决等方向,以及这些技术如何推动行业改革和价值发明。 •AI 翻新方面将展现 AI 畛域的翻新理念、办法和实际,激励参会者在技术、商业模式、治理等多个层面进行翻新摸索。 •AIGC 畛域将关注 AI 与游戏、软件工程等畛域的交融,探讨如何充分利用 AI 技术为这些行业带来翻新和冲破。 参会者将有机会深刻理解 AI 技术的前沿动静,结识业界专家和同行,拓展人脉资源,独特探讨 AI 的将来倒退方向。无论您是从事 AI 钻研、开发、利用还是投资,置信本次会议都将为您带来无尽的启发和播种。 •理解最新 AI 技术 •与行业专家深度探讨与单干 •摸索翻新的 AI 开源解决方案 •接触世界领先 AI 技术公司 招商同步启动 致潜在资助合作伙伴: 咱们十分荣幸地邀请您加入 2023 LF AICON 中东峰会。 依照资助企业对 AICON 中东峰会奉献价值的不同,咱们将资助搭档分为了策略级、钻石级、黄金级、白银级等级别。不同资助层级的资助企业将享有不同的权利回报,次要包含: •大会权利: 主论坛演讲、大会筹备委员会席位、分论坛演讲、大会展区快闪演讲 10 分钟、场地展位、大会开幕式口播感激。 •品牌权利: 大会直播转播权、会前直播平台播放企业宣传视频、赞助商 PR 文章、会前赞助商稿件转发、会前给参会者的确认邮件赞助商展现、会议网站上公司 LOGO 和链接、招聘展位、大会会刊、H5 推广页面、大会参会证、大会资料袋、海报。 •根底权利: 工作证件、工作餐券 (2 日午餐+晚餐)、主论坛入场券、企业单页材料入袋、会后参会者到访的感激电邮赞助商展现。 此外,大会设置了多种参加模式,包含开源集市、开源我的项目路演、闭门会议、1 对 1 商务洽谈等。 作为赞助商,您将在峰会现场以下环节取得宣传和曝光机会: 1.演讲会场:会场以科技大气为调性,突出智能将来,智域有限为主题,主视觉设计和会议动气氛安排以科技感为主基调。您的品牌和形象将失去高度关注和出现; 2.形象展示区:展示区将营造会议典礼感、代入感,并通过互动以平面形象展现等让参会人感触到 AI 行业的弱小。您的品牌将在此区域失去广泛传播; 3.我的项目展示区:我的项目展现区域旨在帮忙参展商更好地解说本人的企业我的项目、增强投资的思考和交换,从而吸引更多融资打算。您的企业我的项目将在此区域受到关注。 4.开源集市:会场特地设置开源集市,让优良的中小型企业接触开发者,以开源集市的模式与开发者近距离沟通,展现我的项目的次要成绩和技术专利等,洽谈交换,结识新敌人。 5.开源我的项目路演:企业在会场全方位展现自家开源我的项目。 峰会将在寰球范畴内,通过多个国家、多种语言、多个层面进行全方位报道,预计将取得 500 万+曝光量。 •中东媒体现场加持曝光: 通过中东通讯社、Al Bayan、中东日报、Emarat al Youm、沙特阿拉伯国家报、Al Eqtisadiah 等中东媒体流传沙特将向智能化、多元化、国际化方向稳步前进理念。预计将取得 300 万+曝光量。 •中国权威媒体: 通过央视、人民日报、新华社、环球网、中国日报、凤凰网等各大头部媒体进行深度宣传,层层解读沙特从石油到科技,一座科技核心正在崛起。共计将达到百万+的曝光量。 如您对资助本次会议感兴趣,请随时与咱们取得联系,以获取更多对于资助合作伙伴权利和相干事宜的详细信息。咱们将竭诚为您提供优质服务,确保您在此次流动中取得丰盛的回报和称心的体验。 联系人:代老师 daifengxin@4paradigm.com;朱老师 zma@opentekr.com 附:胜利案例

April 18, 2023 · 1 min · jiezi

关于机器学习:技巧如何在微信与企业微信端实现自动化ChatGPT智能机器人服务

对于应用企业微信办公合作的公司/个人/组织等,在工作的时候,常常须要通过群机器人的形式,答复群内成员的问题。基于此,一些企业想要将ChatGPT的智能对话能力与企业微信群机器人的回复能力联合,在企业微信群中,实现ChatGPT智能群机器人设置。上面的流程示例,即可通过WorkTool与ChatGPT的利用流程,解决以上场景需要。下图为一个简略实现成果,在企业微信群中,当机器人被a到的时候,能够a提问者,并进行Chat对话答复。 前置条件WorkTool账号一个(收费)WorkTool APP一个(收费)企业微信账号一个(自备)安卓手机一台(自备) 注册WorkTool账号与装置WorkTool软件1 注册与登录地址:WorkTool管理系统,机器人类型抉择企微机器人 2 安卓手机下载WorkTool APP安装包:点击下载4 集简云流程步骤集简云流程步骤1 触发利用,抉择Webhook(利用动静更新,请抉择最新版本),触发动作抉择当接管到数据时。 1.1 配置Webhook字段设置,同时关上WorkTool管理系统页面。将URL地址复制到WorkTool管理系统,机器人信息页面:第三方qa地址中。(并放弃上方选项为第三方QA) 返回数据配置抉择“应用webhook发送返回数据”。自定义返回内容中将下列残缺复制并插入。{     "code": 0,     "message": "success",     "data": {         "type": 5000,         "info": {             "text": ""         }     } }1.2 获取样本数据,如下图,则样本数据获取胜利。2  持续增加OpenAI(ChatGPT)免费版为执行利用,并将发问ChatGPT设置为执行动作。 2.1 OpenAI(ChatGPT)免费版字段配置,问题字段从插入数据选相框中顺次抉择Webhook——〉spoken。2.2 点击发送数据,验证数据是否胜利发送。3 抉择WorkTool作为执行利用,抉择发送音讯为执行动作。 3.1 抉择账户,将WorkTool页面中,机器人信息-机器人编号,复制到受权信息页面,机器人编号中。 3.2 WorkTool字段配置,昵称或群名字段抉择Webhook—〉GroupName,发送文本内容字段顺次抉择OpenAI(ChatGPT)—〉Choices-2.0—〉message—〉content,at的人字段抉择Webhook—〉receivedName。 4 保留流程。开始应用1 集简云流程开启状态2 安卓手机登录企业微信,并且该账号企业微信处于“任一企业微信群中”。3 WorkTool治理后盾,机器人相应形式抉择 @me。4 关上WorkTool软件,讲WorkTool后盾机器人编码输出到WrokTool软件链接号一栏,将开启主性能权限与开启悬浮窗权限,两个权限关上。 ...

April 18, 2023 · 1 min · jiezi

关于机器学习:生成式模型与辨别式模型

分类模型能够分为两大类:生成式模型与分别式模型。本文解释了这两种模型类型之间的区别,并探讨了每种办法的优缺点。 分别式模型分别式模型是一种可能学习输出数据和输入标签之间关系的模型,它通过学习输出数据的特色来预测输入标签。在分类问题中,咱们的指标是将每个输出向量x调配给标签y。判断模型试图间接学习将输出向量映射到标签的函数f(x)。这些模型能够进一步分为两个子类型: 分类器试图找到f(x)而不应用任何概率分布。这些分类器间接为每个样本输入一个标签,而不提供类的概率预计。这些分类器通常称为确定性分类器或无散布分类器。此类分类器的例子包含k近邻、决策树和SVM。 分类器首先从训练数据中学习后验类概率P(y = k|x),并依据这些概率将一个新样本x调配给其中一个类(通常是后验概率最高的类)。 这些分类器通常被称为概率分类器。这种分类器的例子包含逻辑回归和在输入层中应用sigmoid或softmax函数的神经网络。 在所有条件雷同的状况下,我个别都应用概率分类器而不是确定性分类器,因为这个分类器提供了对于将样本调配给特定类的置信度的额定信息。 个别的判别式模型包含: 逻辑回归(Logistic Regression,LR)反对向量机(Support Vector Machine,SVM)决策树(Decision Tree,DT)生成式模型生成式模型在预计类概率之前学习输出的散布。生成式模型是一种可能学习数据生成过程的模型,它能够学习输出数据的概率分布,并生成新的数据样本。 更具体地说生成模型首先从训练数据中预计类别的条件密度P(x|y = k)和先验类别概率P(y = k)。他们试图理解每个分类的数据是如何生成的。 而后利用贝叶斯定理预计后验类概率: 贝叶斯规定的分母能够用分子中呈现的变量来示意: 生成式模型也能够先学习输出和标签P(x, y)的联结散布,而后将其归一化以失去后验概率P(y = k|x)。一旦咱们有了后验概率,咱们就能够用它们将一个新的样本x调配给其中一个类(通常是后验概率最高的类)。 例如,思考一个图像分类工作中,咱们须要辨别图像狗(y = 1)和猫(y = 0)。生成模型首先会建设一个狗 P(x|y = 1) 的模型,以及猫 P(x|y = 0) 的模型。而后在对新图像进行分类时,它会将其与两个模型进行匹配,以查看新图像看起来更像狗还是更像猫。 为生成模型容许咱们从学习的输出散布P(x|y)中生成新的样本。所以咱们将其称之为生成式模型。最简略的例子是,对于下面的模型咱们能够通过从P(x|y = 1)中采样来生成新的狗的图像。 个别的生成模型包含 奢侈贝叶斯(Naïve Bayes)高斯混合模型(GMMs)隐马尔可夫模型(hmm)线性判别分析 (LDA)深度生成模型(DGMs)联合了生成模型和深度神经网络: 自编码器(Autoencoder,AE)生成式反抗网络(Generative Adversarial Network,GAN)自回归模型,例如GPT(Generative Pre-trained Transformer)是一种蕴含数十亿参数的自回归语言模型。区别和优缺点生成式模型和分别式模型的次要区别在于它们学习的指标不同。生成式模型学习输出数据的散布,能够生成新的数据样本。分别式模型学习输出数据和输入标签之间的关系,能够预测新的标签。 生成式模型: 生成模型给了咱们更多的信息,因为它们同时学习输出散布和类概率。能够从学习的输出散布中生成新的样本。并且能够解决缺失的数据,因为它们能够在不应用缺失值的状况下预计输出散布。然而大多数判断模型要求所有的特色都存在。 训练复杂度高,因为生成式模型要建设输出数据和输入数据之间的联结散布,须要大量的计算和存储资源。对数据分布的假如比拟强,因为生成式模型要建设输出数据和输入数据之间的联结散布,须要对数据的散布进行假如和建模,因而对于简单的数据分布,生成式模型在小规模的计算资源上并不实用。 生成模型能够解决多模态数据,因为生成式模型能够建设输出数据和输入数据之间的多元联结散布,从而可能解决多模态数据。 分别式模型: 如果不对数据做一些假如,生成式模型学习输出散布P(x|y)在计算上是艰难的,例如,如果x由m个二进制特色组成,为了对P(x|y)建模,咱们须要从每个类的数据中预计2个参数(这些参数示意m个特色的2个组合中的每一个的条件概率)。而Naïve Bayes等模型对特色进行条件独立性假如,以缩小须要学习的参数数量,因而训练复杂度低。然而这样的假如通常会导致生成模型比判断模型体现得更差。 对于简单的数据分布和高维数据具备很好的体现,因为分别式模型能够灵便地对输出数据和输入数据之间的映射关系进行建模。 分别式模型对噪声数据和缺失数据敏感,因为模型只思考输出数据和输入数据之间的映射关系,不利用输出数据中的信息填补缺失值和去除噪声。 总结生成式模型和分别式模型都是机器学习中重要的模型类型,它们各自具备长处和实用场景。在理论利用中,须要依据具体任务的需要抉择适合的模型,并联合混合模型和其余技术手段来进步模型的性能和成果。 https://avoid.overfit.cn/post/9dc20966c4824be18ef7e9fd1acabe51 作者:Roi Yehoshua

April 18, 2023 · 1 min · jiezi

关于机器学习:AI在金融体系下如何引导API安全

随着金融科技的疾速倒退,越来越多的金融机构开始应用API(利用程序接口)进行数字化转型,减速业务流程和数据交换。然而,API在金融体系下面临诸多平安威逼,如歹意攻打、数据泄露等,这些平安问题可能会导致金融风险和市场失信。为了保障金融API的安全性,能够采纳人工智能(AI)技术疏导和加固API平安进攻。 一、AI在金融API中的灵便利用 智能化的平安规定制订通过对金融API应用数据的剖析和整合,能够建设API行为模型和用户画像,进一步优化API的平安规定,并实现更加智能化和自适应的API平安进攻。例如,能够依据API应用数据,利用AI引擎进行主动学习和调整,从而实现更加精准的平安规定制订和更新。 AI驱动的身份认证和访问控制AI技术能够帮忙金融机构实现更加智能化的身份认证和访问控制,防止因限度适度或有余导致的安全漏洞。例如,能够利用AI技术建设基于API应用数据的用户画像和行为模型,进行精细化的身份认证和访问控制,从而实现更加平安的API受权和访问控制。 基于人工智能的安全漏洞检测通过对金融API应用数据的剖析和整合,能够采纳AI技术进行安全漏洞检测。例如,以机器学习等AI技术为根底,主动发现API中的潜在安全隐患,提出修复计划,防止攻击者利用这些破绽而造成损失。 AI驱动的实时监控和预警系统AI驱动的实时监控和预警系统能够帮忙金融机构及时发现和排除API的平安问题。例如,能够采纳人工智能技术对API拜访、申请和响应等数据进行实时监控和剖析,并设立报警机制,可及时发现异常行为和事件,从而实现更好的平安进攻和治理。 二、AI技术疏导API平安加固趋势 进步平安性能和效率利用AI技术进行API平安加固能够进步平安性能和效率。例如,采纳人工智能技术能够实现规定主动学习和更新,进一步晋升API平安性能,防止误报率和漏报率。 实现精细化的身份认证和访问控制AI技术能够帮忙金融机构实现更加精细化的身份认证和访问控制,依据用户行为等因素进行相应的拜访受权。这样能够实现更加平安的API访问控制,防止非法拜访和数据泄露等平安危险。 建设API行为模型和用户画像基于人工智能的平安规定制订能够实现更加精准和自适应的API平安进攻。通过对API应用数据的剖析和整合,能够建设API行为模型和用户画像,并利用AI引擎进行主动学习和调整,从而实现更加精准的平安规定制订和更新,进步API的平安性能和效率。 进步API平安进攻成果利用AI技术进行API平安加固能够进步平安进攻成果。例如,采纳人工智能技术能够主动发现潜在的安全隐患,提出相应的修复措施,防止破绽被利用从而导致安全事故。同时,AI驱动的实时监控和预警系统能够及时发现异常申请和事件,更加精准地进行平安进攻和治理。 增强对新型攻打的预测和防备AI技术能够帮忙金融机构增强对新型攻打的预测和防备。例如,采纳机器学习、深度学习等技术手段,对API拜访、申请和响应等数据进行实时监控和剖析,发现异常行为和事件,进行辨认出潜在的攻击者,并制订相应的安全策略和计划,避免歹意攻打。还能够采纳模型交融技术,联合多种模型的劣势,进步API的平安性能和可靠性。 实现自动化平安经营治理利用自然语言解决技术对API文档和代码进行剖析和解析,辨认出API可能存在的破绽和危险点,及时采取相应的平安进攻措施。AI技术还能够帮忙金融机构实现自动化的平安治理,升高平安治理老本和人力投入。例如,采纳人工智能技术能够自动化检测和修复API破绽,缩短问题解决工夫,升高平安危险。 三、AI在API平安中存在的挑战与应答 数据隐衷和平安爱护AI技术须要大量的数据反对,然而这些数据波及到用户隐衷和机密信息等,如何保障数据的安全性和隐衷性是一个十分重要的问题,如果未能无效爱护业务数据,将会导致数据泄露、滥用和歹意攻打等危险。对此,金融机构能够采纳数据加密和权限管制等技术手段,增强对数据的爱护。例如,采纳对称加密算法或非对称加密算法对数据进行加密,只有具备相应权限的人员才可能拜访和操作这些数据,从而保障数据的安全性和隐衷性。 增强模型训练优化AI技术须要大量的模型训练和优化能力达到预期的成果。攻击者能够通过攻打AI模型,获取无关数据的敏感信息。例如,攻击者可能会通过对抗性样本攻打等形式,影响AI模型的决策,从而导致数据泄露和损失。而且AI的模型训练须要相当的工夫和资源投入,并且须要业余的技能和常识。因而,金融企业须要领有相干的人才和技术支持,确保AI技术的无效利用和优化。另外,金融机构应该采纳平安模型设计和优化技术,进步AI模型的安全性。例如,能够采纳差分隐衷、同态加密等技术手段,对敏感信息进行解决,升高数据泄露的概率。同时,还能够通过自适应学习和调整技术,一直优化AI模型,进步其抗攻击能力。 攻击者利用AI技术攻打随着AI技术的倒退,攻击者也会利用AI技术进行攻打,例如可能会应用对抗性样本等伎俩,烦扰AI模型的失常运行和辨认。这给API平安加固带来了新的挑战,须要不断加强对新型攻打的预测和防备,建设避免对抗性攻打的机制和算法,进步AI模型的鲁棒性和可靠性,进步API的平安性能和效率。 四、论断在金融体系下,API是数字化转型的重要伎俩之一,然而,API存在着平安威逼,可能会导致金融风险和市场失信。通过采纳数据挖掘和剖析、异样检测和预警、建设综合评估模型、利用自然语言解决技术、采纳对抗性学习技术等技术手段,能够帮忙金融机构及时发现和应答新型API攻打,进步API的平安性能和效率,保障用户的数据安全。为了保障API的安全性,能够采纳AI技术疏导和加固API平安进攻。然而,现有的AI技术还不够欠缺,智能利用也存在一些危险和挑战。例如,黑客也可能利用AI技术进行攻打,利用对抗性样本等形式烦扰AI模型的辨认准确率,从而冲破API的平安进攻措施。因而,金融机构还须要进一步增强API的平安治理和监控,进步对攻打事件的反应速度和平安响应能力,保障金融零碎的稳定性和安全性。  对于星阑星阑科技基于AI深度感知和弱小的自适应机器学习技术,帮忙用户迅速发现并解决面临的平安危险和内部威逼,并凭借继续的翻新理念和以实战攻防为外围的平安能力,倒退成为国内人工智能、信息安全畛域的双料科技公司。为解决API平安问题,公司从攻防能力、大数据分析能力及云原生技术体系登程,提供全景化API辨认、API高级威逼检测、简单行为剖析等能力,构建API Runtime Protection体系。 星阑科技产品——萤火 (API Intelligence) 领有不同利用场景的解决方案,适配服务器、容器集群、微服务架构以及云平台等多种架构。通过API资产梳理、破绽治理、威逼监测、经营与响应能力,解决企业API破绽入侵、数据泄露两大外围危险。

April 17, 2023 · 1 min · jiezi

关于机器学习:TOPI-简介

本篇文章译自英文文档 Introduction to TOPI。 作者是 Ehsan M. Kermani。 更多 TVM 中文文档可拜访 →TVM 中文站 这是 TVM 算子清单(TOPI)的入门教程。 TOPI 提供了 numpy 格调的通用操作和 schedule,其形象水平高于 TVM。本教程将介绍 TOPI 是如何使得 TVM 中的代码不那么样板化的。 import tvmimport tvm.testingfrom tvm import tefrom tvm import topiimport numpy as np根本示例让咱们回顾一下行求和操作(例如 B = numpy.sum(A, axis=1))。要计算二维 TVM 张量 A 的行之和,应指定符号运算以及 schedule,如下所示: n = te.var("n")m = te.var("m")A = te.placeholder((n, m), name="A")k = te.reduce_axis((0, m), "k")B = te.compute((n,), lambda i: te.sum(A[i, k], axis=k), name="B")s = te.create_schedule(B.op)输出以下命令查看可读的 IR 代码: ...

April 17, 2023 · 16 min · jiezi

关于机器学习:人工智能AI库Spleeter免费人声和背景音乐分离实践Python310

在视频剪辑工作中,假如咱们拿到了一段电影或者电视剧素材,如果间接在剪辑的视频中播放可能会遭逢版权问题,大部分状况须要拆散其中的人声和背景音乐,随后替换背景音乐进行二次创作,人工智能AI库Spleeter能够帮咱们实现大部分素材的人声和背景音乐的拆散流程。 Spleeter的模型源来自最大的音乐网站Deezer,底层基于深度学习框架Tensorflow,它能够通过模型辨认出素材中的背景音乐素材,从而判断出哪些是背景音乐,哪些是内部人声。 Spleeter装置在终端执行运行pip命令: pip3 install spleeter --user装置胜利之后,输出命令,查看Spleeter装置门路: pip show spleeter程序返回: PS C:\Users\liuyue\www\videosite> pip show spleeter WARNING: Ignoring invalid distribution -umpy (c:\python39\lib\site-packages) Name: spleeter Version: 2.3.2 Summary: The Deezer source separation library with pretrained models based on tensorflow. Home-page: https://github.com/deezer/spleeter Author: Deezer Research Author-email: spleeter@deezer.com License: MIT Location: c:\users\liuyue\appdata\roaming\python\python39\site-packages Requires: ffmpeg-python, httpx, librosa, llvmlite, norbert, numpy, pandas, protobuf, tensorflow, typer阐明装置胜利。 如果不想在本地搭建深度学习环境,也能够通过Docker镜像装置。对于Docker,请移步:一寸宕机一寸血,十万容器十万兵|Win10/Mac零碎下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群,这里不在赘述。 运行Docker命令: docker pull deezer/spleeter:3.8-5stems这里程序加上预训练模型大略须要1.73GB的硬盘空间。 Spleeter拆散人声和背景音乐Spleeter同时反对视频和音频文件的人声和背景音乐拆散,Spleeter自带三种预训练模型: 1、人声&伴奏声拆散模型 2 stems,拆散出两个音轨 2、鼓声、贝斯声及其它声拆散模型 4 stems,拆散出4个音轨) ...

April 17, 2023 · 1 min · jiezi

关于机器学习:什么是人工智能领域提问问题的耦合度

人工智能畛域中,发问问题的耦合度(Coupling)通常指问题与数据之间的分割水平,即问题对数据的依赖水平。具体来说,问题的耦合度越高,阐明问题须要更多的信息和背景常识能力失去正确的答案;反之,耦合度越低,问题所需的信息和背景常识越少,答案也更容易失去。 例如,对于以下两个问题: (1) 计算机视觉中的指标检测算法有哪些?(2) 如何检测图像中的人脸? 第一个问题的耦合度绝对较低,因为它只须要晓得计算机视觉畛域的指标检测算法,而不须要太多具体的图像或数据信息。相比之下,第二个问题的耦合度绝对较高,因为它须要具体的图像数据以及人脸检测算法等相干常识。 在理论利用中,理解问题的耦合度对于设计和开发智能问答零碎十分重要。如果问题的耦合度过高,零碎须要更多的背景常识和语义理解能力能力答复问题;如果问题的耦合度过低,零碎可能会给出过于简略或不精确的答案。因而,须要依据具体场景和利用需要来设计问答零碎,并对问题和数据进行正当的剖析和建模。 这个耦合度须要和软件设计畛域模块间的耦合度概念相辨别。 在软件设计畛域中,模块之间的耦合度指的是模块之间相互依赖的水平。模块之间的依赖包含数据依赖、管制依赖和程序依赖等。高耦合度的模块之间的依赖程度较高,一旦一个模块发生变化,其余模块可能须要相应地进行批改;而低耦合度的模块之间互相独立,不会相互影响。 以下是常见的几种耦合度类型: 数据耦合:指两个或多个模块之间共享数据的水平。如果多个模块共享同一个数据结构,就会减少它们之间的耦合度。如果某个模块须要拜访其余模块的数据,也会减少它们之间的耦合度。 管制耦合:指一个模块对另一个模块管制流程的影响水平。如果一个模块对另一个模块的管制流程产生影响,就会减少它们之间的耦合度。 公共耦合:指两个或多个模块之间共享一个全局变量、常量或者环境变量等,这些变量是整个程序中所有模块都能够拜访的。公共耦合会减少程序中各个模块之间的依赖关系,升高程序的可维护性。 内部耦合:指模块与外部环境之间的依赖水平。如果一个模块依赖于外部环境中的某个变量或函数,就会减少它们之间的耦合度。 程序耦合:指一个模块对另一个模块的执行程序产生影响。如果一个模块要求另一个模块在特定的工夫执行,就会减少它们之间的耦合度。 缩小模块之间的耦合度是进步软件品质和可维护性的关键因素之一。在软件设计中,应该尽量采纳低耦合度的模块,尽量减少模块之间的依赖关系,进步模块的内聚性,从而升高软件开发和保护的老本。

April 16, 2023 · 1 min · jiezi

关于机器学习:卷积操作的概念及其在深度学习中的应用

卷积操作是一种线性操作,通常用于解决信号和图像等数据。在图像处理中,卷积操作能够用于提取图像的特色,例如边缘、纹理等。 卷积操作是通过卷积核(也称滤波器)与输出数据进行逐元素乘积、求和运算的过程,从而失去卷积特色图。卷积核能够看作是一种模板,用于提取输出数据中的部分特色。在每个地位上,卷积核都会与输出数据中对应的元素进行逐元素乘积、求和运算,从而失去卷积特色图中对应地位的元素。 具体来说,假如输出数据为二维矩阵 $I$,卷积核为二维矩阵 $K$,则卷积操作能够示意为: 其中,$(I*K){i,j}$ 示意卷积特色图中第 $i,j$ 个元素的值,$I{i-m,j-n}$ 示意输出数据中第 $i-m,j-n$ 个元素的值,$K_{m,n}$ 示意卷积核中第 $m,n$ 个元素的值。在理论利用中,卷积操作通常通过疾速算法(如疾速傅里叶变换)进行计算,以进步计算效率。 卷积操作在深度学习中失去了广泛应用,特地是在卷积神经网络中,通过卷积操作能够提取输出数据的空间特色,从而实现图像分类、指标检测等工作。 卷积神经网络(Convolutional Neural Network,CNN)是卷积操作在深度学习中最为典型的利用之一。CNN 次要用于图像、视频、语音等信号的解决和分类工作,其外围是卷积层、池化层和全连贯层等组成的深度网络结构。 在 CNN 中,卷积操作次要用于提取图像的空间特色,例如边缘、纹理等。以图像分类为例,卷积操作能够通过多个卷积层和池化层对输出图像进行屡次特征提取和降采样,最终失去全局特色示意,再通过全连贯层进行分类。 具体来说,假如输出图像为大小为 $W \times H$ 的 RGB 图像,卷积神经网络的第一个卷积层可能蕴含 $k$ 个大小为 $3 \times 3$ 的卷积核,用于提取图像的部分特色。在卷积层中,每个卷积核会对输出图像进行卷积操作,失去 $W-2 \times H-2$ 个卷积特色图。这些卷积特色图能够通过非线性激活函数(如 ReLU)进行激活,以加强网络的非线性表达能力。 接着,池化层通常会对卷积特色图进行降采样,例如最大池化或均匀池化等,以缩小特色图的大小和参数数量。通过屡次卷积和池化操作,卷积神经网络能够逐渐提取图像的空间特色,从而实现对图像的分类、指标检测等工作。 须要留神的是,卷积神经网络的具体构造和参数设置可能因利用场景和数据集而异,须要进行调参和优化。

April 16, 2023 · 1 min · jiezi

关于机器学习:不同编程语言的程序能够被-ChatGPT-自动生成的可能性的一些思考

本文是由 CSDN 上一个敌人向我征询的一个问题引起的。 问题:在ABSL中是否能够通过http申请的 form-data 格局传输文件? 这个问题目前只有三个答复,其中蕴含自己的一个答复,以及另两个来自 ChatGPT 的答复。 其中一个来自 ChatGPT 的答复,把 ABSL 辨认成了 Abseil,后者是一个由 Google 开发的 C++ 代码库,其中蕴含了许多高质量、高效的组件和库,能够帮忙开发者更快地开发出牢靠的软件。 从 ChatGPT 给出的代码来看,这是典型的 C++ 程序,同题主征询的 SAP ABSL 驴唇不对马嘴:ABSL 是 SAP Cloud for Customer 和 SAP Business ByDesign 引入的 Domain Specific Language,只能在 Cloud Application Studio 里编写,语法相似 JavaScript,编译之后在后盾生成 ABAP 代码。 一种认识认为,一门编程语言使用者越多,生态圈越凋敝,这就意味着能够用来训练卷积神经网络的代码越多,那么 ChatGPT 生成此类编程语言的代码也就越准确。 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,次要用于图像、视频、语音等信号的解决和分类工作。与传统的神经网络相比,卷积神经网络通过卷积层、池化层、全连贯层等不同类型的层来实现对图像等数据的特征提取和分类。 卷积层是卷积神经网络的核心层,通过卷积核与输出数据进行卷积运算,失去卷积特色图。卷积层的参数包含卷积核的大小、卷积核的个数等。卷积层的输入能够通过ReLU等激活函数进行激活,以加强卷积层的非线性表达能力。 池化层次要用于对卷积特色图进行降采样,以缩小特色图的大小和参数数量。罕用的池化形式包含最大池化和均匀池化等。池化层的参数包含池化核的大小和步长等。 全连贯层是将卷积层和池化层的输入进行展平后,通过全连贯层进行分类。全连贯层与传统的神经网络类似,其参数包含权重和偏置等。 卷积神经网络具备部分感知性和权值共享等特点,能够无效地提取图像等数据的空间特色和构造信息,因而在图像分类、指标检测、语音辨认等畛域失去了广泛应用。

April 16, 2023 · 1 min · jiezi

关于机器学习:AutoGPT-横空出世会成为-AI-领域中的下一大趋势吗

AutoGPT 是一种基于 GPT 模型的自动化模型架构搜寻技术,旨在通过搜寻最优模型架构,从而达到更好的性能和效率。尽管 AutoGPT 是一项十分有前途的技术,但目前粗率认为其会成为 AI 畛域的下一大趋势,笔者集体感觉有些盲目乐观了。 自动化模型架构搜寻技术是一种利用机器学习办法主动寻找最优模型架构的技术。在传统的机器学习中,数据科学家须要手动设计和抉择模型的构造,而后应用数据来训练该模型。这通常须要大量的教训和尝试,因为不同的工作和数据集须要不同的模型架构。 自动化模型架构搜寻技术的指标是自动化这个过程。它通过搜索算法和评估函数,在肯定的工夫和计算资源限度下,主动寻找最优的模型架构。这种技术能够帮忙数据科学家疾速地找到最好的模型,同时节俭大量的工夫和资源。 近年来,随着深度学习的倒退和计算资源的减少,自动化模型架构搜寻技术逐步成为了热门的钻研方向。目前,曾经有许多自动化模型架构搜寻技术被提出,包含基于遗传算法、强化学习、梯度降落等的办法。这些技术曾经被利用到许多畛域,例如自然语言解决、计算机视觉和语音辨认等。 自动化模型架构搜寻技术的呈现是十分令人兴奋的,因为它们能够帮忙咱们更疾速地发现更好的模型构造。 AutoGPT 作为其中一种技术,曾经在多个自然语言解决工作上获得了令人印象粗浅的后果,包含语言建模、文本生成、问答零碎等。 然而,只管 AutoGPT 可能在某些畛域表现出色,但它并不是实用于所有状况的通用解决方案。它可能须要大量的计算资源和工夫来搜寻最佳模型构造,因而可能只实用于一些特定的工作和场景。此外,自动化搜寻技术也有肯定的局限性,因为它们搜寻的是已知的模型架构空间,可能会错过一些更优良的、尚未被发现的架构。 因而,笔者认为 AutoGPT 是一项十分有前途的技术,但它是否会成为 AI 畛域的下一大趋势还须要工夫来证实。

April 16, 2023 · 1 min · jiezi

关于机器学习:时间序列的平稳性

如何查看工夫序列是否安稳,如果它是非安稳的,咱们能够怎么解决 当将来的数据与当初类似时,它更容易建模。平稳性形容了工夫序列的统计特色不随工夫变动的概念。因而一些工夫序列预测模型,如自回归模型,依赖于工夫序列的平稳性。 什么是平稳性?平稳性形容了工夫序列如何将来放弃不变的概念。用数学术语来说,当工夫序列的统计个性与工夫无关时,它是安稳的,包含 均值不变(为常数)方差不变协方差与工夫无关这就是平稳性的弱模式的定义。另一种平稳性是严格平稳性。这意味着雷同大小的样本具备雷同的散布。因为严格平稳性具备局限性和常见性,所以本文仅关注弱模式平稳性。 为什么平稳性很重要?一些工夫序列预测模型(例如,自回归模型)须要安稳的工夫序列,因为它们更容易建模,因为它们具备恒定的统计属性。因而如果工夫序列不是安稳的,就应该尽量让它安稳。 如何测验平稳性?你能够用两种办法来测试工夫序列的平稳性: 直观的办法:肉眼评估统计办法:单位根测验咱们将创立几个示例,应用Hyndman 和 Athanasopoulos的工夫序列剖析教材《Forecasting: principles and practice》中提到办法解释平稳性的视觉评估,并扩大它们的用法,并解释应用单位根测试进行的平稳性测试。数据来自R的fma 包。 1、直观地评估平稳性 最简略的办法是将工夫序列分成两半,并比拟工夫序列的前半部分到后半局部的平均值、振幅和周期长度。 均值常数-工夫序列前半段的均值应该与后半段的均值类似。方差常数-工夫序列的前半段的振幅应该与后半段类似。协方差与工夫无关——工夫序列前半部分的周期长度应该与后半局部的周期长度类似。周期应该在工夫上是独立的(例如,不是每周或每月等)。 对于咱们的例子,评估后果如下图所示: 2、统计评估平稳性——单位根测验 单位根是一种随机趋势,称为“带漂移的随机游走”。因为随机性无奈预测,这意味着: 单位根存在:不稳固(不可预测),单位根不存在:安稳的 为了用单位根测验平稳性,能够将两个这两个假如作为初始假如: 零假如(H0) -工夫序列是安稳的(没有单位根存在)备择假如(H1) -工夫序列不是安稳的(存在单位根)而后依据以下两种办法评估是否回绝零假如: p 值办法: 如果 p 值 > 0.05,则无奈回绝原假如。如果 p 值 ≤ 0.05,则回绝零假如。 临界值法: 如果测验统计量没有临界值那么极其,则无奈回绝原假如。如果测验统计量比临界值更极其,则回绝原假如。当 p 值靠近0.05时,应应用临界值法 。 有几个单位根测试能够用来查看平稳性。本文将重点介绍最风行的2个: Augmented Dickey-Fuller test 和 Kwiatkowski-Phillips-Schmidt-Shin test 3、Augmented Dickey-Fuller test Augmented Dickey-Fuller test的假如为: H0:工夫序列不是安稳的,因为有一个单位根(如果p值> 0.05) H1:工夫序列是安稳的,因为没有单位根(如果p值≤0.05) 在Python中,咱们能够间接应用statsmodels.tsa.stattools库中的adfuller办法。 from statsmodels.tsa.stattools import adfuller result = adfuller(df["example"].values)如果咱们能够回绝ADF测验的零假如,则工夫序列是安稳的: 上面是样本数据集的ADF测试后果: ...

April 16, 2023 · 1 min · jiezi

关于机器学习:达观助手AI写作下载安装教程及特色功能详解速速收藏体验

AI时代,你的写作工具须要更新啦! 一款全面且收费的AI智能写作插件工具  目前反对Windows零碎、WPS软件应用 (Mac、office软件敬请期待)  下载即领有 智能排版、AI润色、AI续写、题目助手、智能纠错、素材搜寻等弱小助力   最新款的AI写作工具,快来下载体验看看!  下载地址及问题征询下载地址1:http://www.datagrand.com/products/datagrand-copilot/(电脑端复制网址在浏览器中关上) 下载地址2:电脑端滑动至文末点击“浏览原文”进入官网下载更多问题征询扫码进群智能排版  一键实现版式调整 内置近百种模板 涵盖述职报告、工作打算、学术论文、公文告诉等上百种写作场景 主动调整字号、行距、段落缩进等排版细节让你的文档看起来更加整洁好看 智能排版性能领有丰盛的模板库 AI润色  让你的文字更加精彩 无论是商务报告、文章撰写 还是集体博客、日常邮件,只需轻松输出文字一键操作 智能助手便能依据上下文和行业常用语 为文章增色添彩 AI润色提供多种改写计划 AI续写  激发有限灵感 主动剖析了解上文,生成后续内容满足各种写作需要 创作过程随时调整内容,激发创作灵感 AI续写性能疾速生成文章 题目助手  一键生成高质量题目 输出关键词主动生成多个合乎文章主题的题目倡议只需轻松点击即可抉择最适宜的题目AI技术轻松生成高质量题目 智能纠错  让你的写作无懈可击 实时检测并纠正 文本中的错别字、语法错误和用词不当等问题 确保写作内容的准确性和规范性 智能纠错性能晋升文章语言表达和品质 素材搜寻  轻松获取丰盛写作素材 只需输出关键词 即可获取相干畛域大量的信息和素材 轻松应答各种写作挑战 不再担心素材匮乏素材搜寻轻松获取丰盛写作素材 达观助手,让智能写作变得前所未有的简略、高效且无效。快来退出咱们的行列,开启智能写作的全新纪元吧!

April 13, 2023 · 1 min · jiezi

关于机器学习:达观数据研发曹植大语言模型致力于国产GPT模型

在通用畛域,以ChatGPT为代表的生成式大规模语言模型展现出卓越的常识学习和文字创作能力,受到国内外的宽泛关注。垂直畛域的GPT大模型同样领有广大的利用前景。达观基于多年文本智能技术积攒和垂直畛域场景业务教训,正在积极探索大语言模型LLM的实际,研发国产版GPT“曹植”零碎,作为垂直、专用、自主可控的国产版ChatGPT模型,不仅能实现业余畛域的AIGC智能化利用,且可内置在客户各类业务零碎中提供专用服务。 达观自主研发的“曹植”垂直畛域大语言模型将进一步夯实达观产业利用智能化基座,全面加强AI全产品矩阵能力。这也是国内大规模语言模型中首批可落地的产业利用级模型,目前已在金融畛域AIGC多场景投入利用。将来可继续赋能金融、政务、制作等多个垂直畛域和通用场景人工智能的落地和倒退。 在产品利用层面,以“曹植”大模型作为撑持,为达观全栈AIGC智能产品带来革命性成果晋升。例如,达观企业申报材料主动生成,基于达观AIGC智能写作能力,可适配各类资料申报业务场景,基于已有各结构化类数据,疾速撰写各类制式和非制式文档,利用于公文、招投标、投行申报文档、法律文书等业余写作场景。达观金融报告AIGC智能写作,立足财经、金融市场钻研写作场景,联合多项AIGC能力,可高效地实现钻研类报告撰写,保障业余报告写作的高质量和时效性。 达观数据深耕深度学习语义智能畛域十余年,多年来与北京大学、复旦大学等多个高校算法实验室和科研团队建设了深度交换单干机制。在算法方面,达观一直摸索GPT3模型的原理验证和垂直行业常识的强化训练,一直进步模型的准确性和实用性。目前“曹植”大模型目前已取得重要技术冲破,以大量通用数据和畛域数据自监督训练的LLM为基座模型,通过大量通用工作数据和畛域工作数据进行Prompt Learning微调,在垂直畛域内的了解和生成的工作上都达到了很好的成果。 将来达观将建设多个垂直畛域的专用语言大模型,为各行业的智能化需要提供更加业余和高效的解决方案。 3月11日,由中国人工智能学会主办,国内AI领军企业达观数据携手中国人工智能学会自然语言了解专委会、真格基金独特承办,中国信通院云计算与大数据研究所反对的ChatGPT及大模型专题研讨会在北京圆满闭幕。大会围绕ChatGPT和大规模语言模型的倒退利用,汇集泛滥人工智能产研大咖,独特探讨前沿技术及产业将来,出现了一场精彩的思维交换盛宴。 会上达观数据董事长兼CEO、复旦大学计算机博士陈运文以摸索大语言模型的垂直化训练技术和利用为题,向听众开展介绍达观数据“曹植”垂直畛域大语言模型的研发停顿和工程化摸索,这也是“曹植”首度面向公众亮相。

April 12, 2023 · 1 min · jiezi

关于机器学习:综述机器学习中的模型评价模型选择与算法选择

起源:机器之心编辑:一点人工一点智能原文:综述:机器学习中的模型评估、模型抉择与算法抉择! 本论文回顾了用于解决模型评估、模型抉择和算法抉择三项工作的不同技术,并参考实践和实证钻研探讨了每一项技术的次要劣势和劣势。进而,给出倡议以促成机器学习钻研与利用方面的最佳实际。 论文链接:https://sebastianraschka.com/pdf/manuscripts/model-eval.pdf 摘要:模型评估、模型抉择和算法抉择技术的正确应用在学术性机器学习钻研和诸多产业环境中异样要害。本文回顾了用于解决以上三项工作中任何一个的不同技术,并参考实践和实证钻研探讨了每一项技术的次要劣势和劣势。进而,给出倡议以促成机器学习钻研与利用方面的最佳实际。 本文涵盖了用于模型评估和抉择的常见办法,比方留出办法,然而不举荐用于小数据集。不同格调的 bootstrap 技术也被介绍,以评估性能的不确定性,以作为通过正态空间的置信区间的代替,如果 bootstrapping 在计算上是可行的。在探讨偏差-方差衡量时,把 leave-one-out 穿插验证和 k 折穿插验证进行比照,并基于实证证据给出 k 的最优抉择的理论提醒。论文展现了用于算法比照的不同统计测试,以及解决多种比照的策略(比方综合测试、多比照纠正)。最初,当数据集很小时,本文举荐代替办法(比方 5×2cv 穿插验证和嵌套穿插验证)以比照机器学习算法。  01  简介:根本的模型评估项和技术机器学习曾经成为咱们生存的核心,无论是作为消费者、客户、研究者还是从业人员。无论将预测建模技术利用到钻研还是商业问题,我认为其共同点是:做出足够好的预测。用模型拟合训练数据是一回事,但咱们如何理解模型的泛化能力?咱们如何确定模型是否只是简略地记忆训练数据,无奈对未见过的样本做出好的预测?还有,咱们如何抉择好的模型呢?兴许还有更好的算法能够解决眼前的问题呢? 模型评估当然不是机器学习工作流程的起点。在解决数据之前,咱们心愿当时打算并应用适合的技术。本文将概述这类技术和抉择办法,并介绍如何将其利用到更大的工程中,即典型的机器学习工作流。 1.1 性能评估:泛化性能 vs. 模型抉择让咱们思考这个问题:「如何评估机器学习模型的性能?」典型的答复可能是:「首先,将训练数据馈送给学习算法以学习一个模型。第二,预测测试集的标签。第三,计算模型对测试集的预测准确率。」然而,评估模型性能并非那么简略。兴许咱们应该从不同的角度解决之前的问题:「为什么咱们要关怀性能评估呢?」实践上,模型的性能评估能给出模型的泛化能力,在未见过的数据上执行预测是利用机器学习或开发新算法的次要问题。通常,机器学习蕴含大量试验,例如超参数调整。在训练数据集上用不同的超参数设置运行学习算法最终会失去不同的模型。因为咱们感兴趣的是从该超参数设置中抉择最优性能的模型,因而咱们须要找到评估每个模型性能的办法,以将它们进行排序。 咱们须要在微调算法之外更进一步,即不仅仅是在给定的环境下试验单个算法,而是比照不同的算法,通常从预测性能和计算性能方面进行比拟。咱们总结一下评估模型的预测性能的次要作用: · 评估模型的泛化性能,即模型泛化到未见过数据的能力; · 通过调整学习算法和在给定的假如空间中抉择性能最优的模型,以晋升预测性能; · 确定最实用于待解决问题的机器学习算法。因而,咱们能够比拟不同的算法,抉择其中性能最优的模型;或者抉择算法的假如空间中的性能最优模型。 尽管下面列出的三个子工作都是为了评估模型的性能,然而它们须要应用的办法是不同的。本文将概述解决这些子工作须要的不同办法。 咱们当然心愿尽可能准确地预测模型的泛化性能。然而,本文的一个要点就是,如果偏差对所有模型的影响是等价的,那么偏差性能评估根本能够完满地进行模型抉择和算法抉择。如果要用排序抉择最优的模型或算法,咱们只须要晓得它们的绝对性能就能够了。例如,如果所有的性能评估都是有偏差的,并且低估了它们的性能(10%),这不会影响最终的排序。更具体地说,如果咱们失去如下三个模型,这些模型的预测准确率如下: M2: 75% > M1: 70% > M3: 65 如果咱们增加了 10% 的性能偏差(低估),则三种模型的排序没有产生扭转: M2: 65% > M1: 60% > M3: 55%.  然而,留神如果最佳模型(M2)的泛化准确率是 65%,很显著这个精度是非常低的。评估模型的相对性能可能是机器学习中最难的工作之一。 图2 留出验证办法的图示 02  Bootstrapping 和不确定性本章介绍一些用于模型评估的高级技术。咱们首先探讨用来评估模型性能不确定性和模型方差、稳定性的技术。之后咱们将介绍穿插验证办法用于模型抉择。如第一章所述,对于咱们为什么要关怀模型评估,存在三个相干但不同的工作或起因。 · 咱们想评估泛化准确度,即模型在未见数据上的预测性能。 · 咱们想通过调整学习算法、从给定假如空间中抉择性能最好的模型,来改善预测性能。 · 咱们想确定手头最适宜待解决问题的机器学习算法。因而,咱们想比照不同的算法,选出性能最好的一个;或从算法的假如空间中选出性能最好的模型。 图3 偏差和方差的不同组合的图示 图4 在 MNIST 数据集上 softmax 分类器的学习曲线 图5 二维高斯分布中的重复子采样 ...

April 10, 2023 · 1 min · jiezi

关于机器学习:开源项目合肥超经典合肥智慧城市CIMBIM数字孪生可视化项目开源工程及源码

最新消息,数字孪生智慧合肥开源了其数据工程和源码工程,免费送出供大家学习、应用、分享。我的项目介绍 该我的项目在工程上应用精模高度还原了合肥的蜀山区,合肥的其余区域应用AI计算生成cim数据,应用AI驱动影像和高层生成三维地形影像和应用gis等技术来准确还原合肥的地理位置,保障楼宇在正当的投影坐标之内。这些技术的利用,为数字孪生我的项目的后续工作提供了无力的反对和保障。 首先,AI计算技术的应用,能够帮忙解决大量的数据,并主动实现一些重复性和高难度的工作。并且能够帮忙咱们生成配楼和优化主楼数据 其次,GIS确定楼宇在地形影像上的地位,并帮忙咱们更好地理解合肥城市的地理信息和基础设施。功能分析 该项目标次要性能包含在GIS底图上实现数据的综合态势、模仿路线抓拍剖析、以及在Mapbox电子底图的服务上,生成长三角城市群副核心的动画。上面将别离进行介绍。 首先,综合态势性能,是指在GIS底图上实现数据的综合展现。通过该性能,咱们能够看到人口、经济、区域介绍等各种数据,从而全面理解合肥城市的状况。 其次,模仿路线抓拍剖析性能,能够对城市交通状况进行实时监测和剖析。通过该性能,咱们能够在数字孪生零碎中实时获取城市道路交通信息,包含交通流量、拥挤状况、事变产生等,从而及时把握城市交通状况。 长三角城市群副核心动画性能,能够在Mapbox电子底图的服务上生成动画,展现长三角城市群副核心的状况。 最初,加载海量的公共SHP数据能够生成合肥的点线面,并为数字孪生我的项目提供丰盛的数据资源。 总之,合肥智慧城市数字孪生我的项目的数据处理和功能分析,为城市治理和倒退提供了无力的反对和保障。想要获取合肥的工程和源码,请在评论区留下您的激情。

April 10, 2023 · 1 min · jiezi

关于机器学习:深度学习基础入门篇三优化策略梯度下降算法SGDMBGDMomentumAdamAdamW

1.梯度降落算法(优化器)1.1 原理解释如果咱们定义了一个机器学习模型,比方一个三层的神经网络,那么就须要使得这个模型可能尽可能拟合所提供的训练数据。然而咱们如何评估模型对于数据的拟合是否足够呢?那就须要应用相应的指标来评估它的拟合水平,所应用到的函数就称为损失函数(Loss Function),当损失函数值降落,咱们就认为模型在拟合的路上又后退了一步。最终模型对训练数据集拟合的最好的状况是在损失函数值最小的时候,在指定数据集上时,为损失函数的平均值最小的时候。 因为咱们个别状况下很难间接准确地计算失去当模型的参数为何值时,损失函数最小,所以,咱们能够通过让参数在损失函数的“场”中,向着损失函数值减小的方向挪动,最终在收敛的时候,失去一个极小值的近似解。为了让损失函数的数值降落,那么就须要应用优化算法进行优化,其中,损失函数值降落最快的方向称为负梯度方向,所应用的算法称为梯度降落法,即最速降落法(steepest descent)。以后,简直所有的机器学习优化算法都是基于梯度降落的算法。 总结的来讲优化器(例如梯度降落法)就是在深度学习反向流传过程中,指引损失函数(指标函数)的各个参数往正确的方向更新适合的大小,使得更新后的各个参数让损失函数(指标函数)值一直迫近全局最小。 举一个简略例子 优化问题能够看做是咱们站在山上的某个地位(以后的参数信息),想要以最佳的路线去到山下(最长处)。首先,直观的办法就是环顾四周,找到下山最快的方向走一步,而后再次环顾四周,找到最快的方向,直到下山——这样的办法便是奢侈的梯度降落——以后的海拔是咱们的指标(损失)函数值,而咱们在每一步找到的方向便是函数梯度的反方向(梯度是函数回升最快的方向,所以梯度的反方向就是函数降落最快的方向)。 应用梯度降落进行优化,是简直所有优化器的核心思想。当咱们下山时,有两个方面是咱们最关怀的: 首先是优化方向,决定“后退的方向是否正确”,在优化器中反映为梯度或动量。其次是步长,决定“每一步迈多远”,在优化器中反映为学习率。所有优化器都在关注这两个方面,但同时也有一些其余问题,比方应该在哪里登程、路线谬误如何解决……这是一些最新的优化器关注的方向。 1.2 梯度降落法作用梯度降落是机器学习中常见优化算法之一,梯度降落法有以下几个作用: 梯度降落是迭代法的一种,能够用于求解最小二乘问题(线性和非线性都能够),其余的问题,只有损失函数可导也能够应用梯度降落,比方穿插熵损失等等。在求解机器学习算法的模型参数,即无约束优化问题时,次要有梯度降落法,牛顿法等。在求解损失函数的最小值时,能够通过梯度降落法来一步步的迭代求解,失去最小化的损失函数和模型参数值。如果咱们须要求解损失函数的最大值,可通过梯度回升法来迭代。梯度降落法和梯度回升法可互相转换。2.深度学习支流模型与梯度降落下表列举了自然语言解决(NLP),计算机视觉(CV),举荐零碎(Recommendation System,RS),强化学习(Reinforcement Learning,RL)这四个方向的支流模型应用优化器的状况,能够看出在NLP畛域AdamW(AdamWeightDecayOptimizer)应用比拟广泛,CV畛域SGD和momentum应用比拟广泛,举荐畛域比拟杂,强化学习畛域Adam应用比拟广泛。 根据计算指标函数梯度应用的数据量的不同,有三种梯度降落的变体,即批量梯度降落,随机梯度降落,Mini-batch梯度降落。依据数据量的大小,在参数更新的准确性和执行更新所需工夫之间做了一个衡量。 2.1 批量梯度降落,BGD规范的梯度降落,即批量梯度降落(batch gradient descent,BGD),在整个训练集上计算损失函数对于参数的梯度。 $\theta=\theta-\eta\nabla_\theta J(\theta)$ 其中是模型的参数,是学习率,$∇J()$为损失函数对参数的导数。因为为了一次参数更新咱们须要在整个训练集上计算梯度,导致 BGD 可能会十分慢,而且在训练集太大而不能全副载入内存的时候会很辣手。BGD 也不容许咱们在线更新模型参数,即实时减少新的训练样本。 BGD 对于凸误差曲面(convex error surface)保障收敛到全局最长处,而对于非凸曲面(non-convex surface)则是部分最长处。 2.2 随机梯度降落,SGD随机梯度降落( stotastic gradient descent, SGD )则是每次应用一个训练样本$x_i$和标签$y_i$进行一次参数更新。 $\theta=\theta-\eta\cdot\nabla_\theta J(\theta;x^i;y^i)$ 其中是模型的参数,是学习率,∇J()为损失函数对参数的导数。BGD 对于大数据集来说执行了很多冗余的计算,因为在每一次参数更新前都要计算很多类似样本的梯度。SGD 通过一次执行一次更解决了这种冗余。因而通常 SGD 的速度会十分快而且能够被用于在线学习。SGD以高方差的特点进行间断参数更新,导致指标函数重大震荡. BGD 可能收敛到(部分)最长处,然而 SGD 的震荡特点导致其能够跳到新的潜在的可能更好的部分最长处。曾经有钻研显示当咱们缓缓的升高学习率时,SGD 领有和 BGD 一样的收敛性能,对于非凸和凸曲面简直同样可能达到部分或者全局最长处。 2.3 Mini-batch梯度降落,MBGDMini-batch gradient descent( mini-batch gradient descent, MBGD )则是在下面两种办法中采取了一个折中的方法:每次从训练集中取出batchsize个样本作为一个mini-batch,以此来进行一次参数更新 $\theta=\theta-\eta\cdot\nabla_\theta J(\theta;x^{(i:i+n);y^{(i:i+n)}})$ 其中是模型的参数,是学习率,$\nabla_{\theta}J(\theta;x^{(i:i+n);y^{(i:i+n)}}$为损失函数对参数的导数,n为Mini-bach的大小(batch size)。 batch size越大,批次越少,训练工夫会更快一点,但可能造成数据的很大节约;而batch size越小,对数据的利用越充沛,节约的数据量越少,但批次会很大,训练会更耗时。 ...

April 9, 2023 · 2 min · jiezi

关于机器学习:什么是人工智能模型的多模态生成能力

人工智能模型的多模态生成能力是指模型能够生成多种不同模式的数据,例如图像、语音、文本等,以及它们之间的组合和交互。这种能力能够扩大模型的利用场景,使其可能更好地解决多种类型的数据,进步数据的多样性和丰富性。 在自然语言解决畛域,多模态生成通常是指将文本、图像和语音等多种媒体模式联合起来,生成更加多样化的输入。例如,给定一张图片,模型能够生成相应的文字描述;或者给定一段文字,模型能够生成相应的图像。 另外,多模态生成也能够指一种生成多种数据类型的办法,即给定一个输出,模型能够同时生成多种不同类型的输入,例如生成一个图像和相应的语音形容。 多模态生成能力对于一些理论利用十分有用,例如虚拟现实、智能家居、主动驾驶等畛域,能够让模型更加智能和灵便地解决多种形式的输出和输入。 ChatGPT 如何以文字作为输出,输入一张图片?ChatGPT 自身不具备将文字间接转换为图片的能力,因为它是一种自然语言解决模型,其输出和输入都是文本。然而,通过与其余模型的联合和技术的进一步倒退,能够实现将文字输出转换为图片输入的性能。 一种实现形式是通过图像生成模型,将输出的文字转换为一组向量示意,而后应用生成反抗网络 (GAN) 或变分自编码器 (VAE) 等生成模型,将向量转换为相应的图片。这个过程通常分为两个步骤,第一步是将文本转换为向量示意,第二步是将向量示意转换为图片。 在第一步中,能够应用一些预训练的自然语言解决模型,如BERT、GPT等,将输出的文本转换为向量示意。在第二步中,能够应用预训练的图像生成模型,如StyleGAN、BigGAN等,将向量转换为图片。最终输入的图片能够进行后处理,如缩放、裁剪等,以失去更好的后果。 须要留神的是,这种技术依然处于倒退阶段,生成的图片品质可能不够现实,且须要大量的训练数据和计算资源反对。因而,对于理论利用,须要认真评估其准确性和可用性。

April 8, 2023 · 1 min · jiezi

关于机器学习:ChatGPT-和-Whisper-模型的区别

ChatGPT和Whisper模型是两个不同的模型,但都是由OpenAI开发的基于自然语言解决(NLP)的人工智能技术。 ChatGPT是一种基于GPT(Generative Pre-trained Transformer)架构的语言模型,它能够生成天然晦涩的文本,用于生成对话、文章等各种文本内容。 Whisper是一种针对语音助手等场景开发的模型,其次要目标是进步对话交互的成果。Whisper模型利用相似于GAN(Generative Adversarial Networks)的形式来生成对话文本,同时还能够预测对话场景和对话行为,从而更好地了解用户用意,提供更智能、天然的对话体验。 尽管ChatGPT和Whisper是两个不同的模型,但它们都是基于深度学习的技术,都能够用于生成文本内容和改善对话交互体验。 什么是 Generative Pre-trained Transformer 架构Generative Pre-trained Transformer(GPT)是一种基于Transformer架构的自然语言解决(NLP)模型,它由OpenAI开发,旨在通过在大型语料库上预训练模型,使其学习自然语言的统计法则,并生成相似人类所写的天然晦涩的文本。 GPT的基本原理是利用大规模文本数据集进行无监督的预训练,而后在有标注的工作上进行微调。在预训练过程中,GPT通过多层Transformer编码器和解码器来学习输出序列的示意,并通过掩码语言模型(Masked Language Model)和下一句预测(Next Sentence Prediction)等工作来学习自然语言的语法和语义构造。在微调阶段,GPT能够在各种上游工作上进行微调,如文本分类、问答、文本生成等。 GPT模型的长处在于它能够生成天然晦涩的文本,同时也能够适应各种上游工作的需要。目前,GPT曾经推出了多个版本,最新版本是GPT-4,领有1750亿个参数,是目前公认的最弱小的语言模型之一。 什么是天然解决语言 NLP 的 Transformer 架构?自然语言解决(NLP)中的Transformer架构是一种基于注意力机制(attention mechanism)的神经网络架构,由Google在2017年提出。Transformer架构次要用于文本处理工作,如机器翻译、语言模型等,获得了很好的成果。 传统的序列模型,如循环神经网络(RNN)和长短时记忆网络(LSTM),解决文本序列时须要依照序列程序一一解决输出和输入,难以并行化,导致训练速度慢。而Transformer架构采纳了多头自注意力机制(multi-head self-attention mechanism),使得输出的每个词汇能够间接和其他词汇建立联系,从而更加高效地解决输出序列。 在Transformer架构中,输出首先通过一个编码器(encoder)进行编码,而后通过一个解码器(decoder)进行解码,生成输入序列。编码器和解码器都由多个层组成,每个层中蕴含一个多头自注意力机制和一个全连贯前馈神经网络(feed-forward neural network)模块。多头自注意力机制能够将输出序列中每个词汇和其他词汇建立联系,并在此基础上进行特征提取和示意学习。 在NLP中,Transformer架构已被广泛应用于各种工作,如机器翻译、文本分类、问答零碎等,获得了很好的成果,并且失去了越来越多的钻研关注。 什么是人工智能的 Generative Adversarial Networks?Generative Adversarial Networks(GANs)是一种人工智能技术,它能够用于生成各种类型的内容,如图像、音频、视频、文本等。GANs由Ian Goodfellow于2014年提出,并被认为是一种革命性的技术。 GANs蕴含两个神经网络:生成器(Generator)和判断器(Discriminator)。生成器负责生成虚伪数据,判断器负责对这些数据进行分类,辨别实在数据和虚伪数据。生成器的指标是生成足够真切的虚伪数据,以骗过判断器;而判断器的指标则是尽可能地精确地区分实在数据和虚伪数据。 GANs的训练过程相似于一个博弈过程,生成器和判断器一直进行竞争和合作,最终达到一种均衡状态,生成器能够生成足够真切的数据,而判断器也能够精确地区分实在数据和虚伪数据。利用GANs生成的数据具备很高的真实感和多样性,能够用于各种利用场景,如图像合成、图像修复、图像转换等。 GANs是一种非监督学习的技术,它不须要标注数据即可学习数据的散布。在人工智能畛域,GANs曾经获得了很多的胜利,它是一种十分有前景的技术。

April 8, 2023 · 1 min · jiezi

关于机器学习:7个最新的时间序列分析库介绍和代码示例

工夫序列剖析包含查看随着时间推移收集的数据点,目标是确定能够为将来预测提供信息的模式和趋势。咱们曾经介绍过很多个工夫序列剖析库了,然而随着时间推移,新的库和更新也在一直的呈现,所以本文将分享8个目前比拟罕用的,用于解决工夫序列问题的Python库。他们是tsfresh, autots, darts, atspy, kats, sktime, greykite。 1、TsfreshTsfresh在工夫序列特征提取和抉择方面功能强大。它旨在主动从工夫序列数据中提取大量特色,并辨认出最相干的特色。Tsfresh反对多种工夫序列格局,可用于分类、聚类和回归等各种应用程序。 importpandasaspd fromtsfreshimportextract_features fromtsfresh.utilities.dataframe_functionsimportmake_forecasting_frame # Assume we have a time series dataset `data` with columns "time" and "value" data=pd.read_csv('data.csv') # We will use the last 10 points to predict the next point df_shift, y=make_forecasting_frame(data["value"], kind="value", max_timeshift=10, rolling_direction=1) # Extract relevant features using tsfresh X=extract_features(df_shift, column_id="id", column_sort="time", column_value="value", impute_function=impute)2、AutoTSautots是另一个用于工夫序列预测的Python库: 提供了单变量和多变量工夫序列预测的各种算法,包含ARIMA, ETS, Prophet和DeepAR。为最佳模型执行主动模型集成。提供了上界和下界的置信区间预测。通过学习最优NaN imputation和异样值去除来解决数据。 fromautots.datasetsimportload_monthly df_long=load_monthly(long=True) fromautotsimportAutoTS model=AutoTS( forecast_length=3, frequency='infer', ensemble='simple', max_generations=5, num_validations=2, ) model=model.fit(df_long, date_col='datetime', value_col='value', id_col='series_id') # Print the description of the best model print(model)3、dartsdarts(Data Analytics and Real-Time Systems)有多种工夫序列预测模型,包含ARIMA、Prophet、指数平滑的各种变体,以及各种深度学习模型,如LSTMs、gru和tcn。Darts还具备用于穿插验证、超参数调优和特色工程的内置办法。 ...

April 8, 2023 · 2 min · jiezi

关于机器学习:PROG2002动态开发环境讨论

PROG2002 Assignment 1Weight: 30% of your final markDue: Week 3 (16 May 2022, Mondays, 11.59pm AEST)Please note that this is a group assignment (2 students per group).Note: Each student must submit their work to the Grade system individually, and theanswer should not be exactly the same with your group partner. The idea of group is toprovide more opportunity to discuss the assignment with your group partner. Pleaseintroduce yourself to the Discussion Board (in the Assessment thread) to find your partner.SpecificationsYour task is to develop a dynamic website with a minimum of three pages for a real estatecompany as follows:? Page one is a home page? Page two contains a form to allow a user to express interest in a property? Page three contains a contact formThe website should also contain an appropriate menu on all pages so users can navigatearound the website.Getting HelpThis assignment is to be completed individually. It is the opportunity to gain anunderstanding of the concepts of building a dynamic website. It is important that youmaster these concepts yourself. You are permitted to work from the examples in the studyguide or textbook but you must acknowledge assistance from other textbooks orclassmates. In particular, you must not use online material or help from others, as thiswould prevent you from mastering these concepts.Who can you get help from? Use this diagram to determine from whom you may seek helpwith your program. ...

April 7, 2023 · 5 min · jiezi

关于机器学习:深度学习基础入门篇二机器学习常用评估指标AUCmAPISFIDPerplexityBLEUROUGE等详解

1.根底指标简介机器学习的评估指标有精度、准确率、召回率、P-R曲线、F1 值、TPR、FPR、ROC、AUC等指标,还有在生物畛域罕用的敏感性、特异性等指标。 在分类工作中,各指标的计算根底都来自于对正负样本的分类后果,用混同矩阵示意,如 图1.1 所示: 准确率$Accuracy=\dfrac{TP+TN}{TP+FN+FP+TN}$ 即所有分类正确的样本占全副样本的比例。 准确率精准率又叫做:Precision、查准率 召回率召回率又叫:Recall、查全率 $Recall=\dfrac{TP}{TP+FN}\quad\text{}$ 即所有正例的样本中,被找出的比例. P-R曲线¶P-R曲线又叫做:PRC 图2 PRC曲线图 依据预测后果将预测样本排序,最有可能为正样本的在前,最不可能的在后,顺次将样本预测为正样本,别离计算以后的准确率和召回率,绘制P-R曲线。 F1 值$\quad F1=\dfrac{2*P*R}{P+R}\quad\quad$ TPR$TPR=\dfrac{TP}{TP+FN}$ 真正例率,与召回率雷同 FPR假正例率$FPR=\dfrac{FP}{TN+FP}\quad$ ROC依据预测后果将预测样本排序,最有可能为正样本的在前,最不可能的在后,顺次将样本预测为正样本,别离计算以后的TPR和FPR,绘制ROC曲线。 AUCArea Under ROC Curve,ROC曲线下的面积: 敏感性敏感性或者灵敏度(Sensitivity,也称为真阳性率)是指理论为阳性的样本中,判断为阳性的比例(例如真正有生病的人中,被医院判断为有生病者的比例),计算形式是真阳性除以真阳性+假阴性(理论为阳性,但判断为阴性)的比值(能将理论患病的病例正确地判断为患病的能力,即患者被判为阳性的概率)。公式如下: $sensitivity=\dfrac{TP}{TP+FN}\quad\text{}$ 即有病(阳性)人群中,检测出阳性的几率。(检测出的确有病的能力) 特异性特异性或特异度(Specificity,也称为真阴性率)是指理论为阴性的样本中,判断为阴性的比例(例如真正未生病的人中,被医院判断为未生病者的比例),计算形式是真阴性除以真阴性+假阳性(理论为阴性,但判断为阳性)的比值(能正确判断理论未患病的病例的能力,即试验后果为阴性的比例)。公式如下: $specificity=\dfrac{TN}{TN+FP}\quad\text{}$ 即无病(阴性)人群中,检测出阴性的几率。(检测出的确没病的能力) 2. 指标检测工作重:mAP在指标检测工作中,还有一个十分重要的概念是mAP。mAP是用来掂量指标检测算法精度的一个罕用指标。目前各个经典算法都是应用mAP在开源数据集上进行精度比照。在计算mAP之前,还须要应用到两个根底概念:准确率(Precision)和召回率(Recall) 2.1准确率和召回率准确率:预测为正的样本中有多少是真正的正样本。召回率:样本中的正例有多少被预测正确。具体计算形式如图2.1所示。 如图2.1准确率和召回率计算形式 其中,上图还存在以下几个概念: 正例:正样本,即该地位存在对应类别的物体。负例:负样本,即该地位不存在对应类别的物体。TP(True Positives):正样本预测为正样本的数量。FP(False Positives):负样本预测为正样本的数量。FN(False Negative):正样本预测为负样本的数量。TN(True Negative):负样本预测为负样本的数量。这里举个例子来阐明准确率和召回率是如何进行计算的:假如咱们的输出样本中有某个类别的10个指标,咱们最终预测失去了8个指标。其中6个指标预测正确(TP),2个指标预测谬误(FP),4个指标没有预测到(FN)。则准确率和召回率的计算结果如下所示: 准确率:6/(6+2) = 6/8 = 75%召回率:6/(6+4) = 6/10 = 60%2.2 PR曲线上文中,咱们学习了如何计算准确率(Precision)和召回率(Recall),失去这两个后果后,咱们应用Precision、Recall为纵、横坐标,就能够失去PR曲线,这里同样应用一个例子来演示如何绘制PR曲线。 假如咱们应用指标检测算法获取了如下的24个指标框,各自的置信度(即网络预测失去的类别得分)依照从上到下进行排序后如 图2 所示。咱们通过设置置信度阈值能够管制最终的输入后果。能够预想到的是: 如果把阈值设高,则最终输入后果中大部分都会是比拟精确的,但也会导致输入后果较少,样本中的正例只有局部被找出,准确率会比拟高而召回率会比拟低。如果把阈值设低,则最终输入后果会比拟多,然而输入的后果中蕴含了大量负样本,召回率会比拟高而准确率率会比拟低。 图2.2 准确率和召回率列表 这里,咱们从上往下每次多蕴含一个点,就能够失去最左边的两列,别离是累加的recall和累加的precision。以recall为自变量、precision为因变量能够失去一系列的坐标点(Recall,Precision)。将这些坐标点进行连线能够失去 图2.3 。 图2.3 PR曲线 而最终mAP的计算形式其实能够分成如下两步: AP(Average Precision):某一类P-R曲线下的面积。mAP(mean Average Precision):所有类别的AP值取均匀。3.GAN评估指标(评估生成图片好坏)生成器G训练好后,咱们须要评估生成图片的品质好坏,次要分为主观评估和主观评估,接下来别离介绍这两类办法: ...

April 6, 2023 · 2 min · jiezi

关于机器学习:Pandas-20正式版发布-Pandas-15PolarsPandas-20-速度对比测试

Pandas 2.0正式版在4月3日曾经公布了,当前咱们pip install默认装置的就是2.0版了,Polars 是最近比拟火的一个DataFrame 库,最近在kaggle上常常应用,所以这里咱们将比照下 Pandas 1.5,Polars,Pandas 2.0 。看看在速度上 Pandas 2.0有没有劣势。 PolarsPolars 是一个 Rust 和 Python 中的疾速多线程 DataFrame 库/内存查问引擎。它应用 Apache Arrow作为内存模型在 Rust 中实现。它在2021年3月公布。 Polars的一些次要特点如下: 疾速:Polars在解决大型数据集时十分高效。它应用Rust编写,利用Rust的内存平安和零老本形象,能够在不就义性能的状况下解决大规模数据集。可扩大:Polars反对并行化和分布式计算,因而能够解决十分大的数据集。它还具备可插拔的数据源接口,能够从不同的数据源读取和写入数据。易于应用:Polars具备相似于Pandas的API,因而相熟Pandas的用户能够很容易地开始应用Polars。它还具备残缺的文档和示例,可帮忙用户疾速入门。反对多种数据类型:Polars反对许多常见的数据类型,包含数字,布尔值,字符串和日期工夫。它还反对相似于DataFrame的表格构造,能够进行列操作和过滤等操作。Polars的一个最大益处是,它不仅有Python的包,Nodejs,Rust等也能够不便的进行继承应用,并且通过各方的验证,它确实要比Pandas1.x快很多。 Pandas 2.0在之前的文章咱们曾经介绍了 Pandas 2.0,“它要快得多”(还不是稳固版本)。并且它也有了Apache Arrow的后端。 当初,他的正式版公布了,对于Pandas 2.0 的更新请看官网阐明: https://pandas.pydata.org/docs/dev/whatsnew/v2.0.0.html 上面咱们就要开始进行简略的测试了,咱们要测试这3个库的性能,所以须要应用一些比拟大型的数据集。这里咱们应用纽约出租车数据集。 简略ETL从Data Talks Club下载csv数据集,NYC.gov下载parquet数据集。 !wget https://github.com/DataTalksClub/nyc-tlc-data/releases/download/yellow/yellow_tripdata_2021-01.csv.gz !wget https://d37ci6vzurychx.cloudfront.net/trip-data/yellow_tripdata_2021-01.parquet还须要纽约市区域。 !wget https://s3.amazonaws.com/nyc-tlc/misc/taxi+_zone_lookup.csv1、E 提取 把csv文件和parquet文件转换为DF,测试提取的性能。 上面是pandas的 def pd_read_csv(path, engine_pd,): """ Converting csv file into Pandas dataframe """ df= pd.read_csv(path, engine=engine_pd) return df def pd_read_parquet(path, ): """ Converting parquet file into Pandas dataframe """ df= pd.read_parquet(path,) return df这里是Polars的 ...

April 6, 2023 · 2 min · jiezi

关于机器学习:深度学习基础入门篇一神经元简介单层多层感知机距离计算方法式相似度函数

深度学习根底入门篇[一]:神经元简介、单层多层感知机、间隔计算方法式、类似度函数 1.神经元在生物学中,神经元细胞有兴奋与克制两种状态。大多数神经元细胞在失常状况下处于克制状态,一旦某个神经元受到刺激并且电位超过肯定的阈值后,这个神经元细胞就被激活,处于兴奋状态,并向其余神经元传递信息。基于神经元细胞的构造个性与传递信息形式,神经科学家 Warren McCulloch 和逻辑学家 Walter Pitts 单干提出了“McCulloch–Pitts (MCP) neuron”模型。在人工神经网络中,MCP模型成为人工神经网络中的最根本构造。MCP模型构造如 图1 所示。 图1 MCP 模型构造 从 图1 可见,给定 n 个二值化(0或1)的输出数据 $x_i$(1≤i≤n)与连贯参数 $w_i$(1≤i≤n),MCP 神经元模型对输出数据线性加权求和,而后应用函数 ()将加权累加后果映射为 0 或 1 ,以实现两类分类的工作: $y=(∑_{n_i=1}w_ix_i)$ 其中 $w_i$为事后设定的连贯权重值(个别在 0 和 1 中取一个值或者 1 和 -1 中取一个值),用来示意其所对应输出数据对输入后果的影响(即权重)。()将输出端数据与连贯权重所得线性加权累加后果与事后设定阈值 进行比拟,依据比拟后果输入 1 或 0。 具体而言,如果线性加权累加后果(即 ∑mi=1wixi)大于阈值 ,则函数 ()的输入为1、否则为0。也就是说,如果线性加权累加后果大于阈值 ,则神经元细胞处于兴奋状态,向后传递 1 的信息,否则该神经元细胞处于克制状态而不向后传递信息。 从另外一个角度来看,对于任何输出数据 $x_i$(1≤i≤n),MCP 模型可失去 1 或 0 这样的输入后果,实现了将输出数据分类到 1 或 0 两个类别中,解决了二分类问题。 2.单层感知机2.1单层感知机模型¶1957年 Frank Rosenblatt 提出了一种简略的人工神经网络,被称之为感知机。晚期的感知机构造和 MCP 模型类似,由一个输出层和一个输入层形成,因而也被称为“单层感知机”。感知机的输出层负责接管实数值的输出向量,输入层则为1或-1两个值。单层感知机可作为一种二分类线性分类模型,构造如 图2 所示。 ...

April 5, 2023 · 1 min · jiezi

关于机器学习:使用Python实现Hull-Moving-Average-HMA

赫尔挪动平均线(Hull Moving Average,简称HMA)是一种技术指标,于2005年由Alan Hull开发。它是一种挪动平均线,利用加权计算来缩小滞后并进步准确性。 HMA对价格变动十分敏感,同时最大水平地缩小短期稳定可能产生的乐音。它通过应用加权计算来强调更近期的价格,同时平滑数据。 计算HMA的公式波及三个步骤。首先,应用价格数据计算加权挪动平均线。而后,应用第一步的后果计算第二个加权挪动平均线。最初,应用第二步的后果计算第三个加权挪动平均线。最终计算的后果就是挪动赫尔平均线。 WMA_1 =一段期间内价格的加权挪动平均值(WMA) /2 WMA_2 =价格在一段时间内的WMA HMA_non_smooth = 2 * WMA_1 - WMA_2 HMA = HMA_non_smooth的WMA除以根号(周期) 在上面的文章中,咱们将介绍如何应用Python实现HMA。本文将对计算WMA的两种办法进行具体比拟。而后介绍它在工夫序列建模中的作用。 Python实现HMA办法1:将WMA计算为按期间加权的挪动平均价格: defhma(period): wma_1=df['Adj Close'].rolling(period//2).apply(lambdax: \ np.sum(x*np.arange(1, period//2+1)) /np.sum(np.arange(1, period//2+1)), raw=True) wma_2=df['Adj Close'].rolling(period).apply(lambdax: \ np.sum(x*np.arange(1, period+1)) /np.sum(np.arange(1, period+1)), raw=True) diff=2*wma_1-wma_2 hma=diff.rolling(int(np.sqrt(period))).mean() returnhma period=20 df['hma'] =hma(period) df['sma_20days'] =df['Adj Close'].rolling(period).mean() figsize= (10,6) df[['Adj Close','hma','sma_20days']].plot(figsize=figsize) plt.title('Hull Moving Average {0} days'.format(period)) plt.show()如图所示,HMA比通常的SMA反馈更快: 还能够尝试更短的工夫框架,看看HMA与价格曲线的关系有多亲密。 df['hma_short']=hma(14) df['hma_long']=hma(30) figsize= (12,6) df[['Adj Close','hma_short','hma_long']].plot(figsize=figsize) plt.title('Hull Moving Average') plt.show() ...

April 5, 2023 · 2 min · jiezi