人工智能

人工智能 · 圈子

675 位酷友已加入

本圈子收集关于人工智能的各种技术资料,加入圈子可以上传、下载资料,也可以使用提问来寻求资料或分享你认为有价值的站外链接~

关注推荐最新

热门标签

资源

【毕业设计】主动学习推荐系统的实现

主动学习推荐系统的实现 概述 数据集:Amazon商品数据集 编程环境:Python, Matlab, Markdown 1. 数据预处理 商品信息 提取数据集中的title和description信息 命令:python item_information.py [file1, ..., file3] 用户物品评分信息 提取用户-物品评分,划分train集和test集 将train集中的用户作为用户全集,以防止出现train集中有用户没有评分的情况 命令:python user_information.py [file1, ..., file7] 商品相似度生成 title: 分词 + LDA主题模型(topic number = 15) description: 分词 + LDA主题模型(topic number = 15) 未使用price(缺失值太多) 未使用category(同类商品) 命令:python item_similarity.py [topic number, file1, ..., file6] 商品description和title相似度权重生成 non linear regression Similarity(i1, i2) = weight1 * S_title(i1) + weight2 * S_description(i2) 命令: python similarity_parameters.py [file1, ..., file7] fitnlm(path, param1, param2) 用户相似度生成 评分相似度 命令:python user_similarity.py [file1, ..., file3] 用户聚类 用户聚类依靠用户相似度作为距离度量,使用K-medoids作为聚类算法 问题主要存在于:由于评分稀疏,很多用户之间距离为0 命令:python user_clustering.py input_file number_of_clusters output_file 建树前的准备工作 生成用户聚类对任一物品的平均评分,便于计算时直接调用 利用非线性回归拟合的参数生成相似度矩阵 命令:python buildtree_preparation.py input_file init_ptitle init_pdescrip output_file 2. 建树及预测 树的生成: 三叉树,对应不喜欢、一般般喜欢和喜欢三个节点 生成的节点信息用self.tree和self.node_interval两个变量保存 构建预测模型: 利用Spark的mllib包实现ALS Matrix Factorization 生成伪物品(每个节点)和用户对应的latent vector(对每一层都计算) 预测评分: 对每一个test商品,从树的根节点开始向下走,利用目标叶子节点的latent vector作为它的特征向量 利用特征向量和所有物品的特征向量的点积预测评分,计算RMSE(对每一层都计算) 命令:python build_tree.py [input_file1, ..., input_file5] desired_depth 3. 运行 利用Python脚本运行上述所有步骤:python script.py 代码开头数据集名称(dataset)需相应更改 4. 对比实验 FDT (Factorized Deicision Tree) python factorized_decision_tree.py dataset depth (dataset是数据集的名字,depth决定了树的高度) 输入: IU 的矩阵 => new-user problem 输入: UI 的矩阵 => new-item problem CAL (Content-based Active Learning) python content_based_active_learning.py dataset K (dataset是数据集的名字,K决定了选择TopK的用户进行query) CBCF (Content-based Collaborative Filtering) 5. 当前问题 1.对Amazon数据集来说树的第一层预测效果最好,分析原因可能如下: 数据集过于稀疏,导致每一用户基本只有一个评分,第一层作为伪物品作矩阵分解时评分满,效果好,越往下效果越差。 点的划分过于不均匀,使得伪物品选择不优秀。 解决方法: 使用平均划分法划分每一个节点 使用相似度拟合评分作为MF的输入,而非平均评分 2.物品个数超过30万的Automotive集合上计算item similarity时出现Memory Error 解决方法:选择评分个数大于5个的物品和用户 via:https://github.com/clamli/Dissertation

计算机

计算机·圈子   首发

anna 发布了
问答

如何从Keras的imdb数据集中恢复原始文本?

我想从Keras的imdb数据集中恢复imdb的原始文本。 首先,当我加载Keras的imdb数据集时,它返回单词索引序列: 我找到了imdb.get_word_index method(),它返回单词索引字典,例如{'create':984,'make':94,…}。为了进行转换,我创建了索引词字典。 然后,我尝试还原原始文本,如下所示。 所以为什么会这样呢?如何还原原始文字?

计算机

计算机·圈子   首发

阿托 更新了
资源

【毕业设计】基于tensorflow的人脸检测MTCNN算法

基于tensorflow的人脸检测MTCNN算法 人脸检测MTCNN算法,采用tensorflow框架编写,从理解到训练,中文注释完全,含测试和训练,支持摄像头,代码参考AITTSMD,做了相应删减和优化。 模型理解 MTCNN是目前比较流行的人脸检测方法,通过人脸检测可以进行更精准的人脸识别。模型主要通过PNet,RNet,ONet三个网络级联,一步一步精调来对人脸进行更准确的检测。论文中的模型图如下: 接下来我会从我在训练中的理解来解释MTCNN模型都干了什么。 三个模型要按顺序训练,首先是PNet,然后RNet,最后ONet。 PNet: PNet是全卷积网络,主要为了应对不同输入尺度,层数很浅,主要作用是尽可能多的把人脸框都选进来,宁愿错误拿来好多个,也不丢掉一个。训练数据由四部分组成:pos,part,neg,landmark,比例为1:1:3:1。数据是怎么来的呢? pos,part,neg是随机和人脸的数据裁剪得到的,裁剪图片与人脸框最大的iou值大于0.65的为pos图像,大于0.4的为part图像,小于0.3的为neg图像,landmark截取的是带有关键点的图像。其中pos,part的label含有它们的类别1,-1还有人脸框相对于图像左上角的偏移量,偏移量除以图像大小做了归一化;neg的label只含有类别0;landmark的label含有类别-2和5个关键点的坐标偏移也是进行了归一化的。 这四种图像都resize成12x12作为PNet的输入,通过PNet得到了是否有人脸的概率[batch,2],人脸框的偏移量[batch,4],关键点的偏移量[batch,10]。四种不同的数据该怎么训练呢? 对于是否存在人脸的类别损失只通过neg和pos数据来对参数进行更新,具体办法是通过label中的类别值做了一个遮罩来划分数据,只计算neg和pos的损失,不计算其他数据的损失;人脸框的损失只计算pos和part数据的;关键点的损失只计算landmark的。论文中有个小技巧就是只通过前70%的数据进行更新参数,说是模型准确率会有提升,在代码中也都有体现,具体实现可以参考代码。 RNet,ONet: RNet和ONet都差不多都是精修人脸框,放在一起解释。RNet的landmark数据和PNet一样,是对带有关键点的图像截取得到,但要resize成24x24的作为输入。 pos,part,neg的数据是通过PNet得到的。这里就可以理解为什么PNet的输入要是四种数据大小是12了,为了速度,也为了RNet的输入。一张图片输入到PNet中会得到[1,h,w,2],[1,h,w,4],[1,h,w,10]的label预测值,这有点像yolo的思想,如果不理解yolo的可以参考我的yolo介绍。 把一张图片像网格一样划分,每一个网格都预测它的人脸框,划分的图片包含的人脸有多有少,所以划分了neg,pos,part三种数据,landmark只是起辅助作用。图片还要以一定值来缩小尺度做成图像金字塔目的是获取更多可能的人脸框,人脸框中有人的概率大于一定阈值才保留,还要进行一定阈值的非极大值抑制,将太过重合的人脸框除掉,将PNet预测的人脸框于原图上截取,与真实人脸框的最大iou值来划分neg,pos,part数据,并resize成24作为RNet的输入。 RNet,ONet的损失函数和PNet相同,不同的是三种损失所占的比例不同。 ONet的输入是图片通过PNet金字塔得到的裁剪框再经过RNet的裁剪框裁剪的图片划分neg,pos,part三种数据resize成48作为输入,landmark与RNet相同只不过resize成48大小的了。 代码介绍 环境说明 ubuntu16.04 python3.6.5 tensorflow1.8.0 opencv3.4.3 pip install tqdm为了显示进度条 代码介绍 data下放置训练所用的原始数据和划分数据,生成的tfrecord等 detection下的fcn_detector.py主要用于PNet的单张图片识别,detector.py用于RNet和ONet的一张图片通过PNet截取的多个人脸框的批次识别,MtcnnDetector.py为识别人脸和生成RNet,ONet输入数据 graph里放置的是训练过程中生成的graph文件 output里放置识别图像或视频完成后存储放置的路径 picture里是要测试的图像放置路径 preprocess里是预处理数据程序, BBox_utils.py和utils.py,loader.py是一些辅助程序, gen_12net_data.py是生成PNet的pos,neg,part的程序, gen_landmark_aug.py是生成landmark数据的程序, gen_imglist_pnet.py是pnet的四种数据组合一起, gen_hard_example.py是生成rnet,onet的三种数据程序, gen_tfrecords.py是生成tfrecord文件的程序 train中的config是一些参数设定,大都文件夹我都直接写死了,所以里面参数能改的很少,model.py是模型,train.py是训练,train_model.py针对不同网络训练 test.py是测试代码 下载数据 将WIDERFace的训练数据下载解压,将里面的WIDER_train文件夹放置到data下,将Deep Convolutional Network Cascade for Facial Point Detection的训练集解压,将里面的lfw_5590和net_7876文件夹放置到data下。model文件夹下已存储好我训练的权值文件了。 运行 训练: 将目录cd到preprocess上, python gen_12net_data.py生成三种pnet数据, python gen_landmark_aug.py 12 生成pnet的landmark数据, python gen_imglist_pnet.py整理到一起, python gen_tfrecords.py 12生成tfrecords文件 将目录cd到train上python train.py 12 训练pnet 将目录cd到preprocess上, python gen_hard_example.py 12 生成三种rnet数据, python gen_landmark_aug.py 24 生成rnet的landmark数据, python gen_tfrecords.py 24生成tfrecords文件 将目录cd到train上python train.py 24 训练rnet 将目录cd到preprocess上, python gen_hard_example.py 24 生成三种onet数据, python gen_landmark_aug.py 48 生成onet的landmark数据, python gen_tfrecords.py 48生成tfrecords文件 将目录cd到train上python train.py 48 训练onet 测试: python test.py 一些建议 生成hard_example时间非常长需要三到四小时,所以如果你想从头训练请耐心等待,如果代码或理解有什么问题,欢迎批评指正。 结果展示 来源https://github.com/LeslieZhoa/tensorflow-MTCNN

资源

Alto——通过构建一个自学机器来展示机器学习基础

Alto——可学习的对象 认识一下Alto,它是一个可学习的对象,Alto旨在通过构建一个可以自学的机器来展示机器学习(ML)最基本的方面。 Alto使用Coral USB Accelerator和Raspberry Pi来协助展示如何轻松地将机器学习功能添加到硬件项目中。 该资源库包含从头开始构建Alto的所有说明和文件。 最重要的是,Alto是完全开源的! 任何人都可以使用此代码、原理图和案例设计来创建学习对象。 要想更多地了解USB Accelerator中的Edge TPU可以做什么,并获得你自己项目的灵感,请访问Coral示例页面。 你在本文中可以找到什么 本文分为五个章节: 用户指南——解释Alto的界面以及Alto的使用方式。 制作自己的Alto——构建Alto的指南,内容包括设置软件,焊接电路以及构造Alto的纸板主体。 使用Alto进行实验——一组简单的实验可以帮助你了解Alto的工作原理,以及如何使用Alto向其他人介绍机器学习的一些基本概念。 破解Alto——简要介绍如何破解Alto以使其以不同外观和表现来适合你自己的应用程序。 技术概述——关于Alto的软件和电子设备及其功能的更详细的介绍。 用户指南 最简单的机器学习 Alto的正面有一个摄像头,两侧各有一个手臂和一个按钮。 Alto使用相机观察周围的世界。 这些按钮用来开始学习,当Alto看到已学会识别的内容时,它将用手臂指着。 Alto可以学习两种事物。 当Alto识别其中一个时,它将指向其对应的手臂。 Alto在最基础的水平上展示了机器学习:机器识别什么取决于你教什么。 教Alto 教Alto识别物体时,将物体放在Alto前面,然后按侧面的按钮之一。 当Alto拍摄图像以了解物体时,其手臂将慢慢抬起。 当Alto的手臂水平伸展时,学习过程就完成了。 现在,当同一对象放置在其前面时,Alto将指向该对象。 教Alto认识相同物体的次数越多,Alto识别该事物的能力就越高。 你可以随心所欲地教Alto,尝试通过旋转对象以显示不同的角度并将其放置在不同的距离上,每次按相同的按钮让Alto学习有关该对象更多的信息。 识别物体 首先,教Alto的每个手臂识别的不同对象,例如,教Alto学习水果类型之间的差异,一侧识别一个红苹果,另一侧识别一个香蕉。 识别类别 除了识别单个对象之外,你还可以教Alto识别对象的类别。 基于它对红苹果的了解,可以教它识别一般的红色物体而不仅仅是苹果。Alto学会了识别两个类别后,是否可以正确识别一个以前从未见过的新红色物体? 重置 如果你想教Alto一些新事物,可以通过同时按住两个按钮3秒钟来清除其记忆。 这将清除Alto两边所学习的一切,并且无法撤消。 要更详细地了解这些过程中的任何一个,请查看之后的“ Alto实验”部分。 制作你自己的Alto 以下步骤可以指导你组装自己的Alto:设置Raspberry Pi,焊接电子设备以及组装用于容纳所有组件的外壳。 要阅读每个步骤的更详细说明,请下载文件,其中包含对应的说明文档。 1.0:安装软件 第一步是为Alto设置软件环境,然后加载Alto的Python代码。 软件和操作系统部分列出整个过程的步骤,开始设置Raspberry Pi Zero,然后刷新SD卡并安装Alto应用程序软件。 详细步骤参考1.0-Set-up-the-software.md 2.0:搭建电子设备 Alto的电子设备设计尽可能简单和易于破解。 你只需要几个通用的组件和基本的焊接技能就可以组装所有东西。 该资料库的电子目录中包含完整的循序渐进指南,包括原理图和物料清单。 详细步骤参考2.0-Build-the-electronics.md 3.1:制作电子外壳 Alto的内部结构由折叠纸板制成,并与订书钉固定在一起。 Alto的所有组件都在这种结构中:伺服器,LED,照相机和内部电子组件都安装在纸板层中。 首先,您需要打印出PDF模板(即文件alto-paper-templates.pdf )并将其粘贴到你的材料上,这是将纸板切成正确形状的模板,所有标签均打印在模板本身上。 使用工具(例如工艺刀)需要大约45分钟完成此步骤,如果可以使用激光工具,则可以使用激光工具完成此步骤,这样速度会很快。 有关此阶段构建Alto的更多详细说明,请参阅电子设备外壳说明:3.1-Making-the-electronics-casing.md 3.2:制作Alto的外壳 Alto的外部结构是由卡片制成的,围绕Alto内部结构的接缝并折叠在一起。 该过程与之前类似,在外壳构建目录中进行了详细介绍。 白卡构成了Alto外部结构的大部分,并隐藏了其中的某些组件和电子设备。 我们可打印的彩色卡片附件,突出了黄色的眼睛(相机),红色的耳朵(按钮)和蓝色的臂(伺服电机臂)。 您还可以在此阶段自定义Alto的外观样式,以使你的Alto独一无二! 详细步骤见3.2-Making-altos-outer-shell.md 4.0:教Alto学习 现在你应该已经拥有了完整的Alto单元,下一步就是教它! 参见文件4.0-experiments-with-alto.md 拿来一些物体,将Alto插入电源,然后开始探索可以教Alto识别的内容。 如果您需要一些灵感来继续学习,请查看下面的“用Alto进行实验”部分。 Alto实验 Alto是理解机器学习基础的好方法。 本节包含许多实验,可以帮助你了解Alto的工作原理,并向其他人介绍机器学习的基础。 这些实验涵盖了从简单对象识别到引入k最近邻(kNN)算法的各个方面,为将Alto背后的概念变为现实提供了实用的方法。具体实现参考文件4.0-experiments-with-alto.md 破解Alto 详细见5.0-remixing-alto.md Alto的所有硬件和软件都是在考虑可破解的情况下创建的:机箱设计可以用不同的材料制成,也可以完全重构。 电子设备可以适应使用任何可用的组件; 伺服器可以替代任何类型的执行器; 并且该软件使用易于修改的高级语言(Python)编写。 以下是一些可以修改自己的Alto的方法: 破解软件 可以对现有代码进行一些细微调整,以更改Alto的置信度或行为。 破解硬件 超越伺服器,探索Alto展示其公认东西的新方法。 更改外观 Alto的外壳可以轻松更改,以适应您可能想到的任何应用。 可以通过简单的美学改变来改变Alto的外观,也可以改变手臂或身体的设计。 Hacking Alto是迈向构建自己的机器学习项目的重要一步。 如果你使用Coral USB Accelerator想到任何很棒的东西,请展示给我们! 并在此处将您的机器学习实验提交到Google实验平台。 技术概述 Alto具有三个主要要素:一台带有摄像头的Raspberry Pi Zero单板计算机;一台具有摄像头的单板计算机; ,用于加速设备上的机器学习的Coral USB Accelerator ; 以及一些用于用户界面的简单电子设备。 操作系统和计算机 Raspberry Pi Zero可以运行Raspberry Pi OS。它是负责与用户连接的硬件(通过GPIO连接),摄像头模块和Coral Edge TPU(通过USB连接)接口。该操作系统将自动启动,并充当运行Alto的软件应用程序的主机。 该系统通过将ML图形执行委托给Coral USB Accelerator上的Edge TPU来加速所有ML推断的(以及某些学习)。 Edge TPU是一种机器学习协处理器,它使像Raspberry Pi这样的低功率计算机能够以比CPU上更好的性能运行高级ML工作负载。 Alto执行的所有ML任务均使用Edge TPU在设备上(离线)完成。 尽管Edge TPU的Coral软件不能正式支持Raspberry Pi Zero(因为它具有ARMv6芯片组,但是Coral正式需要ARMv8),但是Edge TPU Runtime的Coral软件是开源的,并且已经成功地为Raspberry Pi Zero进行了编译。 你可以在Coral网站上找到有关Coral和Edge TPU硬件的更多信息。 软件 Alto软件应用程序是用Python编写的。 它从Raspberry Pi摄像头模块接收输入,准备通过Edge TPU模块进行分类,并与电子接口对接。 该应用程序使用k最近邻分类器模型(k-NN)来识别给定图像与其学习数据集中其他图像的近似度。 当Alto学习时,它将计算来自图像传感器的传入数据在其模型中的输入情况,并为其分配标签——对于Alto,此标签是其左臂或右臂。 当Alto处于识别模式时,确定来自图像传感器数据帧的输入情况,并计算它们与其他已知输入的接近度; 如果该物体在已标记输物体的一定距离内,则Alto会识别出某物,并用其相应的手臂指向它。 电子设备 Alto的电子设备设计尽可能灵活和易于破解。 它基于单个通孔原型板,可以很容易地手工组装。 该开发板连接到Raspberry Pi Zero的GPIO引脚,并断开Alto其他组件的插头:两个伺服器,两个按钮和一个LED。 这些项目中的每一项都很常见且易于获得。 另外,它们可以轻松替代其他零件,例如,如果你有不同的伺服器或可用的LED。 该设计和物料清单(BOM)包括一个预制的USB分支板,该板包括一个分立的功率调节电路,该电路将确保正常运行期间向Alto顺利传送足够的功率。 你可以在电子产品目录(即文件2.0-Build-the-electronics.md)中找到有关电子产品的更多信息,物料清单可在此处作为可下载的电子表格获得。 注释 这是Google Creative Lab和我们RRD Labs的合作伙伴之间的共同努力。 这不是Google的官方产品。 我们鼓励开源项目作为相互学习的方式。 分享这些作品并创作衍生作品时,请尊重我们和其他创作者的权利,包括版权和商标权(如果存在)。 如果您想了解有关Google政策的更多信息,可以在这里找到。 要为该项目做出贡献,请参考此存储库中的贡献文档。 来源https://github.com/googlecreativelab/alto

资源

超级智能城市2.0-人工智能引领新风尚_德勤中国_2020

核心观点/主要成果 超级智能城市2.0 超级智能城市评价指标体系的构建是为了从整体了解智慧城市的建设现状和未来发展前景,通过德勤全球视角引导城市发现自身智慧城市建设的短板,挖掘自身的潜力,将智慧城市建设与自身需求相结合,稳步提高智慧城市的发展水平,让市民拥有更多的幸福感和获得感。 智慧城市发展的动态性要求指标体系也要不断调整,今年的指标体系内部加入了人工智能这一新的评价项目。 报告对目前中国26个城市的智慧城市进程指数进行了滚动更新: 整体来看,智能城市的发展与经济发展水平呈现正相关的关系,但也不乏智能城市发展落后于经济发展水平的情况,特别是在一些新晋发展的城市表现明显。 一线城市的智能城市发展水平已经大幅度领先于其他城市,特别在创新水平上,其他城市表现出了明显的劣势,不利于可持续的智能城市建设。此外,所有城市之间在智能城市应用领域表现出的参差不齐较严重。 人工智能赋能智慧城市 人工智能城市产业链包括基础层加上核心技术层,然后再加上垂直应用。垂直领域细分为产品和应用智能系统。 七大特征包括有实时感知、高速传输、自主学习、自主决策、自主协同、自动优化、自主控制。 这七大特征是互相关联缺一不可的,未来超级智能城市需要完全具备这些特征。 以人为本:从智慧城市向智慧社会转变 十九大报告中提出了智慧社会的概念,是对“新型智慧城市”的理念深化和范围拓展,强调基于智慧城市使市民拥有更多的获得感、幸福感,再一次强调了智慧城市的发展要注重以人为本,强调市民在智慧城市建设过程中的参与行为。 市民参与是构建以人为本的智慧城市的前提,在新型智慧城市的发展过程中要强调市民在决策制定、公共和社会服务、透明治理上的参与。 完善的市民参与系统是一个综合的体系,需要意识的提高和信息资源的进步。 目录 全球城市再进阶 超级智能城市2.0 打造超级智能城市 超级智能城市新风向 评价指标体系 报告来源:德勤中国 转载自https://www2.deloitte.com/cn/zh/pages/public-sector/articles/super-smart-city-2-0.html 发布时间:2020年

资源

全球人工智能发展白皮书_德勤中国_2020

《全球人工智能发展白皮书》由德勤科技、传媒和电信行业编制。本文深入研究了人工智能技术步入商业化阶段后,在全球各主要城市的创新融合应用概况,以及其将对金融、教育、数字政务、医疗、无人驾驶、零售、制造业、智慧城市等各行业带来的深刻变革。 核心观点/主要成果 人工智能正全方位商业化,加速企业数字化、改善产业链结构、提高信息利用效率。 AI全面进入机器学习时代,未来人工智能的发展将是关键技术与产业的结合。 人工智能投资趋于理性,底层技术和易落地领域更受人工智能领先机构青睐,互联网巨头也开始在人工智能业务关联产业进行战略布局。 作为未来的新型行业,人工智能企业呈现出高增长的特征。中国人工智能产业在资金和政策的大力支持下发展迅速,某些关键技术已位于世界前列。根据不完全的公开信息,德勤对人工智能企业进行了梳理,筛选出50家高增长企业(后附),其中“乂学教育-松鼠AI”“字节跳动” “云从科技”为代表的教育、商业智能和人脸识别细分领域内的中国企业,其增速分别超5000%、700%和600%,表现非常抢眼。 城市是承载AI技术创新融合应用的综合性载体,也是人类与AI技术产生全面感知的集中体验地。 政策与资本推动京津冀、长三角、珠三角成为人工智能企业分布最多的地区,北京、上海领跑全国。以上海和北京为代表的一线城市在人才数量、企业数量、资本环境以及科研能力长期处于第一梯队。 人工智能正在重塑各个行业,引发社会深刻变革: 人工智能推动金融行业构建更大范围内的高性能生态系统,提升金融企业商业效能并变革企业内部经营全过程。 人工智能在教育行业的应用逐步深入,应用场景向覆盖教学全流程方向变革。 数字政务的建设主要依靠自上而下推动,构建政务数字化目标加速政府智能化变革。 以无人驾驶技术为主导的汽车行业将迎来产业链的革新。 人工智能在制造业领域的应用潜力被低估,优质数据资源未被充分利用。 零售领域应用场景从个别走向聚合,传统零售企业与创业企业结成伙伴关系,围绕人、货、场、链搭建应用场景。 医疗行业人工智能应用发展快速,但急需建立标准化的人工智能产品市场准入机制并加强医疗数据库的建设。 目录 一、AI创新融合新趋势 1.1 人工智能正全方位商业化 1.2 AI全面进入机器学习时代 1.3 市场对投资回归理性 1.4 城市逐渐成为AI创新融合应用主战场 1.5 AI支持体系不断发力 1.6 顶层政策倾斜力度持续增加 1.7 全球AI市场超6万亿美元 1.8 京津冀、长三角、珠三角AI企业云集 二、人工智能技术发展腾飞 2.1 人工智能关键技术日趋成熟 2.2 人工智能开放平台建设稳步推进 2.3 “人机大战”谁更能更胜一筹? 三、中国在全球AI地位 3.1 中国拥有更为庞大的数据规模以及更丰富数据使用环境 3.2 中国是全球芯片需求量最大的市场,但高端芯片依赖进口 3.3 中国机器人企业快速成长核心零部件技术国产化加速 3.4 美国人工智能底层技术实力更为雄厚,中国则在语音识别技术上更优 3.5 中国在AI应用上呈现追击态势 四、人工智能重塑各行业 4.1 金融:人工智能提升金融企业商业效能并变革企业内部经营 4.2 教育:人工智能技术应用覆盖教学全流程 4.3 数字政务:政策利好加速政府智能化变革 4.4 医疗:人工智能应用日趋成熟 4.5 无人驾驶:主导汽车产业革新 4.6 零售:人工智能驱动行业走向聚合 4.7 制造业:智能制造应用潜力巨大 4.8 智慧城市:人工智能塑造城市基础设施创新系统 报告来源:德勤中国 转载自:https://www2.deloitte.com/cn/zh/pages/technology-media-and-telecommunications/articles/global-ai-development-white-paper.html

计算机

计算机·圈子   首发

anna 发布了
问答

在Pytorch中使用Dropout:nn.Dropout与F.dropout有什么区别?

通过使用pyTorch,有两种方法可以 dropout torch.nn.Dropout和torch.nn.functional.Dropout。 我很难看到它们之间的区别: 1.什么时候使用哪一种? 2.有什么不同吗?

计算机

计算机·圈子   首发

阿托 更新了
资源

【毕业设计】HOG+SVM行人检测

HOG+SVM行人检测 1.基于python和opencv编写的代码,应用经典的HOG+SVM算法实现行人检测 目录说明: Negative:负样本数据集; Positive:正样本数据集; TestData:测试数据集; pedestran_detect.py:使用HOG+SVM进行训练+测试代码。 详细可参考博客:https://blog.csdn.net/hongbin_xu/article/details/79845290 2. matlab HOG特征提取演示和模糊PID仿真 目录说明: hog:HOG特征提取 Simulation:PID控制仿真,模糊推理系统,模糊PID控制仿真 3. server 服务器的代码 大多数文件是测试学习用,关键代码在SocketsDemo和TKinterTest文件夹中 模型和训练数据太大,不上传。获取数据或训练模型参考博客: https://blog.csdn.net/hongbin_xu/article/details/79845290 4.app Android项目 5.stm32 下位机程序 来源https://github.com/MingguoXu/GraduationProject

资源

基于深度学习的图像超分辨率重建

实验目的 本实验将使用深度学习技术对图像进行超分辨率重建,涉及到的技术包括了卷积神经网络,生成对抗网络,残差网络等。 实验过程 开发环境 本实验使用到“Microsoft Visual Studio”、“VS Tools for AI”等开发组件,涉及到了“TensorFlow”、“NumPy”、“scipy. misc”、“PIL.image”等框架和库,其中“scipy. misc”与“PIL.image”用于图像处理。本实验还需要“NVIDIA GPU”驱动、“CUDA”和“cuDNN”等 数据探索 本实验的数据可以选择CV领域各类常见的数据集,实验将以CelebA数据集作为示例。CelebA是香港中文大学开放的人脸识别数据,包括了10177个名人的202599张图片,并有5个位置标记和40个属性标记,可以作为人脸检测、人脸属性识别、人脸位置定位等任务的数据集。本实验使用该数据集中img_align_celeba.zip这一文件,选择了其中前10661张图片,每张图片根据人像双眼的位置调整为了219x178的尺寸。解压后的图片如图1所示。 本实验需要得到图1中图像的低分辨率图像,并通过深度学习将这些低分辨率图像提升到高分辨率图像,最后与图1中的原图进行对比查看模型的效果。 在图像超分辨率问题中,理论上可以选择任意的图像数据,当时根据经验,使用有更多细节纹理的图像会有更好的效果,使用无损压缩格式的PNG格式图像比JPG格式图像有更好的效果。 数据预处理 本实验的数据预处理需要将图1中的原始图像整理为神经网络的对应输入与输出,并对输入做数据增强。在预处理前,将最后五张图像移动到新的文件夹中作为测试图像,其余图像作为训练图像。 图像尺寸调整 为了提升实验效率和效果,首先将训练与测试图像调整到128x128的尺寸,注意实验没有直接使用“resize”函数,因为“resize”函数进行下采样会降低图像的分辨率,实验使用了“crop”函数在图像中间进行裁剪,并将最后裁剪后的图像持久化保存。 载入数据 实验中将时使用TensorFlow的Dataset API,该API对数据集进行了高级的封装,可以对数据进行批量的载入、预处理、批次读取、shuffle、prefetch等操作。注意prefetch操作有内存需要,内存不足可以不需要进行prefetch;由于本实验的后续的网络结构较深,因此对显存有相当高的要求,这里的batch大小仅仅设为30,如果显存足够或不足可以适当进行调整。 图像预处理 在图像处理中,常常在图像输入网络前对图像进行数据增强。数据增强有两个主要目的,其一是通过对图像的随机变换增加训练数据,其二是通过随机的增强使得训练出的模型尽可能少地受到无关因素的影响,增加图像的泛化能力。本节首先在文件中读取前文裁剪后的图像;然后对训练图像进行随机的左右翻转;并在一定范围内随机调整图像的饱和度、亮度、对比度和色相;然后将读取的RGB值规范化到[-1, 1]区间;最后使用双三次插值的方法将图像下采样四倍到32*32尺寸。 持久化测试数据 在前序预处理后,实验将把测试集的特征和标签数据持久化到本地,以在后续的训练中与模型的输出做对比。 模型设计 本实验将使用GAN、CNN和ResNet的组合构建超分辨率模型。本节将首先介绍GAN的生成器中使用到的残差块与上采样的PixelShuffle,然后分别介绍GAN中生成器与判别器,最后介绍模型的训练过程。 残差块 残差块的输入为x,正常的模型设计的输出是两层神经网络的输出F(x),残差块将输入的x与两层的输出F(x)相加的结果H(x)作为残差块的输出。这样的设计达到了前面假设的目的,训练的目标是使得残差F(x)=H(x)-x逼近于0,即H(x)与x尽可能的近似。随着网络层次的加深,这样的设计保证了在后续的层次中网络的准确度不会下降。 在本实验的实现中,图2残差块中weight layer将是有64个特征图输出、卷积核大小为3*3,步长为1的卷积层,并设置了Batch Normalization层,Relu激活函数也改为了PRelu。代码如下所示: 上采样 PixelShuffler 本实验的目标是将32x32的低分辨率图像超分辨率到128x128。因此模型无可避免需要做上采样的操作。在模型设计阶段,实验了包括了Conv2DTranspose方法,该方法是反卷积,即卷积操作的逆,但是实验结果发现该方法会造成非常明显的噪声像素;第二种上采样方法是TensorFlow UpSampling2D + Conv2D的方法,该方法是CNN中常见的max pooling的逆操作,实验结果发现该方法损失了较多的信息,实验效果不佳。本文最终选择了PixelShuffle作为上采样的方法。PixelShuffle操作如图3所示。输入为H*W的低分辨率图像,首先通过卷积操作得到r^2个特征图(r为上采样因子,即图像放大的倍数),其中特征图的大小与低分辨率图的大小一致,然后通过周期筛选(periodic shuffing)得到高分辨率的图像。 、 本实验将卷积部分的操作放到了GAN的生成器中,下面的代码展示了如何在r^2个特征图上做周期帅选得到目标高分辨率图像输出。 生成器 本实验使用的基本模型是GAN,在GAN的生成器部分将从低分辨率的输入产生高分辨率的模型输出。 判别器 本实验的GAN判别器的输入是一张128*128的图像,目标输出是一个布尔值,也就是判断输入的图像是真的图像还是通过模型为伪造的图像。本实验设计的生成器是由全卷积网络实现。 损失函数与优化器定义 常规的GAN中,生成器的损失函数为对抗损失,定义为生成让判别器无法区分的数据分布,即让判别器将生成器生成的图像判定为真实图像的概率尽可能的高。但是在超分辨率任务中,这样的损失定义很难帮助生成器去生成细节足够真实的图像。因此本实验为生成器添加了额外的内容损失。内容损失的定义有两种方式,一种是经典的均方误差损失,即对生成器生成的网络与真实图像直接求均方误差,这样方式可以得到很高的信噪比,但是图像在高频细节上有缺失。第二种内容损失的基础是预训练的VGG 19网络的ReLU激活层为基础的VGG loss,然后通过求生成图像和原始图像特征表示的欧氏距离来计算当前的内容损失。 本实验选择了VGG loss作为内容损失,最终的生成器损失定义为内容损失和对抗损失的加权和。本部分该部分代码如下所示,注意首先定义了用于计算内容损失的VGG 19网络: 本实验的判别器损失与传统的GAN判别器损失类似,目标是将生成器生成的伪造图像尽可能判定为假的,将真实的原始图像尽可能判断为真的。最终的判别器损失是两部分的损失之和。本部分代码如下所示: 优化器选择的是Adam,beta 1设为0.9,beta 2设为0.999,epsilon设为1e-8,以减少震荡。代码如下所示: 训练过程 实验将首先导入上文的数据、模型与判别器,然后定义了checkpoint以持久化保存模型,然后一个批次一个批次地读取数据,进行每一步的训练。总体训练流程如下所示: 在每一步的训练中,首先通过生成器获得伪造的高分辨率图像,然后分别计算生成器与判别器的损失,再分别更新生成器与判别器的参数,注意这里生成器与判别器的训练次数是1:1。代码如下所示: 实验评估 本实验的评估部分将对比低分辨率图片、模型生成的高分辨率图片和原始图片的区别。本实验的训练数据有10656个图片,测试数据为5个图片。由于实验评估图像分辨率的提升效果,因此不需要按照一定比例划分训练集和测试集,而越多的训练数据也有更好的建模效果。但是需要注意的是,按照本实验现在的模型,需要的显存约为6.8G,如果增大批次数量、增加卷积层特征图数量、加深网络或增大原始图片分辨率,将进一步增加显存。 在本实验中,使用的是TensorFlow GPU版本,实验的GPU是NVIDIA GeForce GTX 1080,显存大小为8G。当前实验的各项超参数已经达到该显卡的最大可用显存。当前训练集一次迭代约需要7—8分钟,20次迭代的训练将持续约2.5小时。 图4中生成器的损失在前20次迭代训练下降,20次迭代到60次迭代后在0.02上下波动,损失进一步下降变得缓慢;判别器的损失下降较为明显,但是注意到有多次震荡情况的出现。本实验继续增大迭代次数可能会有更好的损失表示。 表2显示了迭代42次和迭代60次后的模型在测试集上的表现对比。 表1可见模型对分辨率有非常明显的提升,第一列低分辨率图像在放大后细节部分非常模糊,而第二列迭代42次于第三列迭代60次后,图像在一些细节部分例如头发、五官等有了更加清晰的轮廓。但是模型与原始图相比仍然还有差距,不能做到以假乱真。这一方面是因为实验只是在迭代60次后的模型上进行评估;一方面是因为原图是以JPG格式存储的,所以相比PNG无损格式的图片在细节上有先天的不足;还有原因是本实验将图片剪裁到了128*128,这是考虑到显存的权宜之计,更高的原始分辨率会有更丰富的细节信息。进一步增加迭代次数、进一步调整参数、扩大图片原始尺寸、使用原始PNG格式的图片等方法会导致最后的模型有更佳的效果。 转载自:https://github.com/kadoufall/Image-Super-Resolution-VS

资源

【毕业设计】面向金融领域的实体关系抽取系统设计与实现

面向金融领域的实体关系抽取系统设计与实现 一、研究目的 关系抽取是信息抽取中的关键技术之一。面向金融领域的实体关系抽取是在实体识别的基础上,进一步提炼出实体间的关系,建立实体间的联系,服务于金融行业。 二、研究方法 本系统主要针对机构与机构、人与机构之间进行实体关系抽取。关系抽取问题可以转化为分类问题,关系抽取就是在已经定义好的关系列别上,确定当前实体对之间关系的所属类别。 本系统利用有监督的机器学习方法,在人工标注的语料库上使用多种分类算法进行训练。在训练过程中,使用交叉验证的手段来确定各个分类算法的最佳参数,并根据交叉验证的结果选择最佳的分类算法,训练出最佳模型并保存。最后利用已经训练好的模型进行实体关系抽取。 三、研究结论 本系统将关系抽取应用到金融领域,通过对系统的设计与研发,得到以下研究成果和结论。 介绍了项目的研发背景,阐明了关系抽取在金融领域的作用,分析了关系抽取的国内外研究现状。关系抽取是金融领域知识图谱构建的基本手段之一。 定义了金融领域机构与机构间,人与机构间的关系类别。使用有监督的机器学习的方法进行面向金融领域的实体关系抽取,并分析了其实质是进行文本分类。 采用多种分类算法来进行关系抽取,使用交叉验证的手段来调整模型参数,并通过综合比较各分类算法的性能来选出最佳的分类算法和分类模型。 详细叙述了从模型训练到关系抽取的整个流程,证明了SVM在文本分类中的良好性能。 四、目录 摘 要 Abstract 目 录 第1章 绪论 1.1 课题背景及意义 1.2 国内外研究现状 1.3 本文主要工作内容 第2章 需求分析 2.1 金融领域实体关系定义 2.2 系统需求 2.2.1 系统功能性需求 2.2.2 系统非功能性需求 2.3 本章小结 第3章 系统设计 3.1 系统总体设计方案 3.1.1 软件体系结构 3.1.2 系统功能结构图 3.1.3 系统实现流程 3.2 系统存储数据结构设计 3.3 本章小结 第4章 系统实现 4.1 模型训练 4.1.1 网络爬虫数据采集 4.1.2 人工标注语料库 4.1.3 结巴分词 4.1.4 模型参数调优 4.2 关系抽取 4.3 本章小结 第5章 系统测试与性能分析 5.1 关系类别测试 5.2 系统性能分析 5.3 本章小结 结 论 参考文献 原创性声明 致谢 来源https://github.com/yyHaker/NamedEntityRecognition

资源

【毕业设计】基于多源海洋数据的信息平台开发与应用研究

基于多源海洋数据的信息平台开发与应用研究 一、研究目的 “数字海洋”的诞生是源于“数字地球”的建设,二者都是为了将地球上所有探测到的数据以数据库的形式存储,并共享给全球社会,集全球的科研精力及资源,挖掘有助于人类可持续发展的有用信息,助力社会发展,而作为一个海洋面积约占71%的星球,“数字海洋”也必然成为了这一庞大建设的最主要部分。 基于海洋数据的信息平台的建设,可以将丰富海量的海洋数据信息,直观便捷的展示给公众,按照不同的海洋数据分类以基于互联网网站的形式,相较于无分类的海量的数据集文件,网站可以让用户根据自己的使用需求选择来自不同海域的数据集以及在线下载,以用来将来进一步的分析与研究。友好的界面交互与UI设计有助于激发公众对于海洋知识的热爱,有助于海洋知识的基础科普,在展示过程中采用数据集表格的形式,用户可以看到自己所选择数据集的所有数据,包括数据格式,数据上传时间,更新频率等相关字段,保证了公众获取数据的及时性与可用性。 基于海洋数据的信息平台的建设,完成了从庞大数据库到可视化信息查看的转变,用户不需要经过相关的专业训练,只需要基本的操作就可以查看并下载海洋生物、海洋化学、海洋水文等信息。从政府角度来看,相关研究机构只需将自己机构的研究数据与结果上传至海洋数据信息平台,政府相关部门便可以根据当前决策需要,搜索需要的海洋数据,结合数据进行科学决策,去除了政府相关部门与研究机构的沟通隔阂,降低了信息共享得决策成本,推动决策高效决定于执行,因为对于海洋领域来说,政策相对于的影响发挥着巨大的作用,也从另一个方面帮助政府更好地协助企业发展,为沿海企业经济发展提供良好的政治环境与政策引导。政商通力合作,共同推动沿海经济发展。对于沿海渔业来说,每年的沿海休禁渔制度涉及区域广泛,政府通告发布也可以通过该平台进行传播,降低文件沟通成本,合理利用互联网平台进行咨询动态传播,公众也可以通过平台获取最新的海洋相关信息,掌握出海海风、风力等安全信息,保证渔民的财产与人身安全。 如今全球各大主要的海事机构,例如日本海洋数据中心、英国海洋数据中心(BODC)、世界海岛数据库(ISLANDS)、国际海洋数据和信息交换平台(IODE)都在海洋信息收集与共享方面做出了巨大共享,本项目的完成,有助于探索符合我国国情的多源海洋数据的信息平台,通过不同的展示形式,及数据库存储方式,摸索出最合适的信息平台,服务于国家的海洋强国战略。 二、研究内容 本论文的研究主题在与设计并开发符合中国国情与实际的基于多源海洋数据的信息平台,文章对开发平台需要的相关技术理论及浏览器关键技术进行了深入介绍,讨论决定选取何种技术,技术优势所在,并在其后对使用当前技术所面临的开发难点进行了深入讨论,包括使用Flask-SQLALchemy实现数据库对象关系映射,部署服务器至云端,数据文件批量查询分析操作,以期用最合适的技术尽可能优化地实现所设计的功能。其次,本论文结合不同海洋数据库的数据特征,数据处理与分析格式,从关系型数据库和非关系型数据库选择了MySQL数据库作为平台的数据库,既保证了对前台数据展示与搜索的良好支持性,又满足存储海量海洋数据的需求。 本论文以世界上各大海洋机构相关的海洋数据共享平台为考量对象,衡量中国海洋海量数据集内容与数据格式,瞄准国内国际重大海洋数据共享计划,以数据整合共享为目标,以开发为重点工作,最终产出基于多源海洋数据的信息共享平台,服务于社会等研究机构的应用研究包括但不限于海洋渔业、防灾减灾、旅游、航海等方面;协助企业安全高效运营,包括管理海洋风险预警、数据信息化;为政府领导科学决策,海洋管理执法维权提供科学指引。 三、研究结果 本文从研究国内外海洋数据信息平台着手,对目前海洋数据信息平台的需求进行了梳理与阐述,为了开发出更符合中国海洋数据现状的海洋数据信息平台,在确定了用户需求的基础上,又明确了平台的总体设计,将这个平台的开发分解、细化,从技术与功能角度分别阐述了平台的开发可行性、各个模块的具体实现方式,也对平台的重要部分进行了分别测试,最后给出了基于多源海洋数据信息平台的全面设计与实现。 平台采用B/S架构进行开发设计,使用Python-flask框架作为平台的开发框架,不仅可以在有限的时间内,尽可能最优化的完成所设计的功能,同时也极大地增强了平台的稳定性,易用性以及可维护性。平台数据集包含海洋生物数据集、海洋化学数据集、海洋水文数据集,以大类区分的方式将数据有组织的展示给用户,用户也可以根据自己的数据需求进行搜索,一旦确定需要数据文件,便可以快速点击下载。资讯动态功能为用户获取海洋资讯、国家政策、相关研究提供了极大地便利,用户可以查看不同的分类文章,也可以通过文章标题的关键字模糊搜索寻找自己感兴趣的文章进行阅读。 四、目录 第1章 绪论 1.1 研究背景 1.2 研究的目的与意义 1.3 国内外研究现状 1.4 研究内容 第2章 平台相关技术研究 2.1 Bootstrap前端框架 2.2 Web服务器网关接口 2.3 B/S架构模型 2.3.1 B/S架构模型与C/S架构模型的介绍与比较 2.3.2 B/S结构的特点和优势 2.4 MySQL数据库 2.4.1 MySQL数据库介绍 2.4.2 MySQL数据库所需关键知识 2.5 Python-flask web框架及关键模块 2.5.1 Python-flask框架介绍 2.5.2 Flask-Uploads模块 2.5.3 Flask-SQLAlchemy扩展 第3章 需求分析及可行性分析 3.1 平台需求分析 3.2 平台需求概述 3.2.1 业务功能需求 3.2.2 平台性能需求 ⑴ 响应时间指标 ⑵ 平台容量性能指标 3.3 平台用例分析 3.3.1 海洋数据查看与下载 3.4 平台可行性分析 3.4.1 技术可行性 3.4.2 经济可行性 第4章 平台总体设计 4.1 平台架构设计 4.2 平台的框架设计 4.3 平台的模块设计 4.4 平台数据库设计 4.4.1 实体描述 4.4.2 数据库迁移 4.4.3 数据库表格设计 第5章 基于多源海洋数据信息平台的实现 5.1 项目前期工作 5.1.1 安装组件 5.1.2 数据库创建与迁移 5.2 平台主要功能模块的实现 5.2.1 平台首页的实现 5.2.2 平台登录模块的实现 5.2.3 平台注册模块的实现 5.2.4 平台资讯动态模块的实现 5.2.5 平台数据服务模块的实现 第6章 基于多源海洋数据信息平台的测试 6.1 平台功能测试 6.1.1 链接测试 6.1.2 表单测试 6.2 浏览器测试 第7章 总结和展望 参考文献 via:https://github.com/dashengwzy/python_flask

  • 1
  • 28
  • 29
  • 30
  • 46
前往