从计算机视觉向医疗AI,上海交大谢伟迪发布多项成果,登Nature子刊/NeurIPS/CVPR等

【文献阅读笔记】Knowledge-enhanced Visual-Language Pre-training on Chest Radiology Images 背景:在自然语言和视觉识别方面,大规模数据上预训练的多模态基础模型取得了成功。但由于医疗任务的细粒度性质和对领域知识的高需求,它们在医学领域的使用仍然受到限制。方法:提出了一种称为知识增强自动诊断KAD)的新方法,该方法利用现有的医学领域知识,使用配对的胸部 X 射线和放射学报告来指导视觉语言预训练。结果(1)在四个外部 X 射线数据集上评估了KAD①证明了零样本性能可以与完全监督模型相媲美②优于三位放射科专家针对三种(out of five)病理学的统计平均值意义。(2)此外,当可以用。 阅读详情

近年来,AI for Science 发展提速,不仅为科研领域带来创新研究思路,同时也拓宽了 AI 的落地通路,为其提供了更多具有挑战性的应用场景。在这个过程中,越来越多的 AI 领域研究人员开始关注医疗、材料、生物等传统科研领域,探索其中的研究难点与行业挑战。

上海交通大学长聘轨副教授谢伟迪深耕于计算机视觉领域,于 2022 年回国,投入到了医学人工智能的研究中。在 HyperAI超神经联合出品的 COSCon’24 AI for Science 论坛中,谢伟迪教授以「Towards Developing Generalist Model For Healthcare」为题,从开源数据集构建、模型开发等多个角度分享了团队的成果。

在这里插入图片描述

上海交通大学长聘轨副教授谢伟迪

HyperAI超神经在不违原意的前提下,对其深度分享进行了整理汇总,以下为演讲精华实录。

医疗人工智能已是大势所趋

医疗研究关乎每个人的生命健康,至关重要。同时,医疗资源不均衡的问题长久以来未被根治,所以我们希望能够推进医疗普适化,帮助大家获得高质量诊疗。

ChatGPT 或是近年来发布的其他大模型,都将医疗作为性能测试的主战场。如下图所示,在美国医师执业资格考试 (United States Medical Licensing Examination) 中,2022 年前,大模型能够达到 50 分的水平,彼时人类能达到 70 分,所以 AI 并没有引起医生的过多关注。

在这里插入图片描述

随着 GPT 3.5 的发布,其评分达到了 60.2,有了极大提升,而后 Google 发布了 Med-PaLM 及其更新版本,最高得分达到了 86.5,如今的 GPT-4 能到 90 分。这样的高性能表现与迭代速度让医生们开始重视 AI,现在很多医学院都会开设一个新学科:智能医学。

同样地,不仅医学生要学习人工智能,AI 专业的学生也可以在最后一年课程中学校医学知识,哈佛大学等院校的 AI 专业已经设置了相关课程。

但从另一方面来看,Nature Medicine 等学术期刊的研究表明,大语言模型其实并不懂医疗。例如,大模型目前还不懂 ICD code(国际疾病分类系统中的诊断代码),也很难像医生一样根据患者的检查结果及时提供下一步就医指导。可以看到,大模型在医疗领域仍存在的诸多局限性,我认为它永远无法替代医生,而我们团队想做的是让这些模型能够更好地辅助医生。

团队初级目标:构建通用医疗人工智能系统

我于 2022 年回国开始进行医疗人工智能的相关研究,所以今天分享的主要是团队近两年来的成果。医疗行业涉猎广泛,我们研发的模型不敢说通用,但是希望能够覆盖尽可能多的重要任务。

如下图所示,在输入端,我们希望能够支持多种模态,例如图像、音频、患者健康档案等。输入到多模态通用医疗模型 (Multi-modal Generalist Model for Medicine) 后,医生可以与其进行交互。模型的输出至少有 2 种形式,其一是视觉 (Visual),通过分割 (Segmentation)、检测 (Detection) 等方式,找到病灶的位置。其二是文本 (Text),输出诊断结果 (Diagnosis) 或报告 (Report)。

在这里插入图片描述

我个人是计算机视觉出身,据我观察,视觉和医疗的一个很大区别在于,医学、尤其是循证医学领域的知识,大多都是从人类的经验中总结而来,一位初学者如果能够穷尽所有医学书籍,至少能够成为理论上的医学专家,所以,在模型训练过程中,也希望能够将所有医疗知识注入其中。因为如果模型缺乏基础的医疗知识,很难取得医生及患者的信任。

所以,总结来看,我们团队的初级目标就是构建一个多模态的通用医疗模型,并将医学知识尽可能全面的注入其中。

最初,我们开始定义通用模型,逐渐发现构建一个像 GPT-4 一样无所不能的医疗模型并不现实。因为医院里分布了诸多科室,每个科室的任务也不同,通用模型很难覆盖全部任务。所以我们选择通过 Agent 的方式来实现。如下图所示,中间的通用模型由多个子模型组成,而每个子模型本质上就是一个 Agent,最终以 Multi Agent 的形式来构建通用模型。

其优势在于不同 Agent 能够接受不同输入,所以在模型的输入端能够更加复杂多样化;多个 Agent 在一步一步处理不同任务的过程中也能够形成思维链;输出端也更加丰富,例如一个 Agent 就能够完成 CT、MRI 等多类医学图像分割;同时,还具备更好的可扩展性。

在这里插入图片描述

贡献高质量开源数据集

围绕构建多模态通用医疗模型的大目标,接下来我将从开源数据集、大语言模型、疾病诊断 Agent 等多个方面介绍团队的成果。

首先是我们在开源数据集方面的贡献。

医疗领域并不缺少数据集,但由于设计隐私问题,开放可用的高质量数据相对稀缺。作为一个学术团队,我们希望能够为行业贡献更多优质的开源数据,所以我回国后就开始着手进行大规模医疗数据集的构建。

在文本方面,我们收集了超 3 万本医学书籍,包含 40 亿 tokens;爬取了 PubMed Central (PMC) 中的所有医学文献,包含 480 万篇论文、750 亿 tokens;在互联网上,收集了中文、英语、俄语、日语等 8 个语种的医学书籍,并将其转换为文本。

此外,我们还构建了医疗领域的 Super Instructions,兼顾任务多样性,罗列了 124 项医疗任务,涉及 1,350 万 samples。

在这里插入图片描述

文本数据比较容易获取,但是 Vision-Language(图像-文本对)却比较难取得。我们爬取了 Radiopaedia 网站上约 20 万个案例,还收集了论文中的图像及其说明文字,以及从放射科的基础报告中获取的超 3 万 volumes。

目前,我们的数据大部分都已经开源。

在这里插入图片描述

上图右侧展示的是其他公开数据集,例如 UK Biobank,我们付费购买了英国近 10 万患者持续 10 年的数据;此外,Pathology Outlines 提供全面的病理学知识。

在 Grounding Data 方面,就是我刚刚提到的分割 (Segmentation) 和检测 (Detection) 数据,我们将市面上能够找到的近 120 个放射学影像公开数据集统一到一个标准下,从而得到了超 35,000 个 2D/3D 放射学扫描影像,覆盖 MR、CT、PET、US 这 4 种模态,有 40 万细颗粒度的标注,这些数据覆盖了身体的 500 个器官。同时,我们也扩充了对于病灶的描述,并将这些数据集全部开源。

在这里插入图片描述

持续迭代,打造专业医疗大模型

语言模型 (Language Model)

只有高质量的开源数据集才能帮助学生、科研人员进行更好地模型训练。接下来,我将介绍团队在模型上的成果。

首先是语言模型,这是一个能将人类知识快速注入到模型中的一种方式。去年 4 月,我们推出了一个名为 PMC-LLaMA 的模型,相关研究以「Towards Building Open-source Language Models for Medicine」为题,发表于 JAMIA。

论文地址:

https://academic.oup.com/jamia/article/31/9/1833/7645318

这是我们研发的第一个开源医疗领域的大语言模型,将医学数据和刚刚提到的论文数据全部训到模型中,进行自回归式训练,然后进行指令微调,将数据转换为问答对。

在这里插入图片描述

耶鲁大学研究人员在其论文中提到, PMC-LLaMA 是领域内最早推出的开源医疗大模型,后续也有很多研究人员将其当做 baseline,但是在我看来, PMC-LLaMA 与闭源模型还存在差距,所以我们后续也会持续迭代升级这个模型。

在这里插入图片描述

随后,我们又在 Nature Communications 上发表一篇成果:「Towards Building Multilingual Language Models for Medicine」,推出了多语言医疗大模型,覆盖英语、中文、日语、法语、俄语和西班牙语这 6 类语种,用 250 亿医疗相关 tokens 进行训练。由于现在缺乏统一的多语言标准测试集,所以我们还构建了一个相关的 benchmark,供大家进行测试。

点击查看详细报道:医疗领域基准测试超越Llama 3、接近GPT-4,上海交大团队发布多语言医学大模型,覆盖6国语言

在实践中我们发现,随着基座模型的升级,向其中注入医疗知识,所得到的医疗大模型性能也会有所提升。

上述所提到的任务大多是「选择题」,但我们都知道,在医生的实际工作中不可能只做选择题,所以我们希望大语言模型嵌入到医生工作流中也是以自由文本的形式。针对于此,我们在新的研究中,更加聚焦临床任务,收集相关数据集,提升模型面向临床的可扩展能力。

目前相关论文仍在审核中。

视觉-语言模型 (Visual-language Model)

同样地,我们也是医疗领域内比较早期开始进行视觉-语言模型研究的团队。基于上述提到的数据,我们构建了 3 个开源数据集:

  • 从 PubMed Central 收集到 160 万对大型图像-标题配对数据,构建了 PMC-OA 数据集;

  • 从 PMC-OA 中生成了 227,000 个医学视觉问答对,构成了 PMC-VQA;

  • 从 Radiopaedia 种收集了 53,000 个病例,48,000 个多图像-标题对,构建了 Rad3D 数据集。

在这里插入图片描述

基于这些数据集,我们结合已经完成训练的语言模型,训练了 3 个版本的视觉-语言模型:PMC-CLIP、MedVInT、RadFM。

PMC-CLIP 是我们在医学人工智能影像领域顶会 MICCAI 2023 上发表的一项成果,最终获评「Young Scientist Publication Impact Award, Final List」,该奖项是在近 5 年的论文中评选出 3-7 篇获奖论文。

RadFM (Radiology Foundation Model) 现在比较流行,很多研究人员用它做 baseline。在训练过程中,我们是将文字-图像交织的形式输入到模型中,能够根据问题直接生成回答。

在这里插入图片描述

增强特定领域知识,提高模型性能

所谓的知识增强表征学习 (Knowledge-enhanced Representation Learning),需要解决的就是如何将医学知识注入到模型中,我们也围绕这个挑战进行了一系列研究。

首先要解决「知识」从哪儿来。一方面是医学常识 (General Medical Knowledge),来源于互联网,以及医疗领域最大的知识图谱 UMLS 对外出售的相关论文和书籍;另一方面是特定领域知识 (Domain-specific Knowledge),例如病例、放射学影像、超声等;同时还有关于解剖学的知识 (Anatomy Knowledge),都可以在一些网站中获取,当然这里尤其要注意的是版权问题,有些网站上的内容是不能用的。

在这里插入图片描述

得到这些「知识」之后,我们就能够绘制一个知识图谱,从而建立起疾病-疾病、药物-药物、蛋白质-蛋白质之间的关系,并且附带具体的描述。
在这里插入图片描述

上图左侧是我们建立的病理知识图谱 (Knowledge Graph) 和知识树 (Knowledge Tree),主要针对癌症诊断,因为癌症的病发位置可能在人体的各个器官,同时也会划分不同亚型,适合做成 Tree 的结构化形式。类似地,除了多模态病理学,我们还围绕多模态放射学与多模态 X-ray 进行了相关研究。

下一步,就是将这些知识注入语言模型,让模型记住图谱及图谱中各个点之间的关系。而一旦语言模型训好,视觉模型只需要向语言模型对齐即可。

我们将成果与 Microsoft 和 Stanford 的相关成果进行了对比,结果显示,增加了领域知识的模型,性能远高于其他没有领域知识的模型。

面向病理学,我们的论文「Knowledge-enhanced Visual-Language Pretraining for Computational Pathology」入选了机器学习顶会 ECCV 2024 (Oral)。在这项成果中,我们建立一个 knowledge tree,并将其注入模型训练,然后将视觉与语言对齐。

在这里插入图片描述

更进一步,我们用同样的方法构建了多模态放射学影像模型,成果以「Large-scale long-tailed disease diagnosis on radiology images」为题发表于 Nature Communications。该模型能够直接根据患者的放射学影像输出对应的病症。

总结来看,我们的工作实现了一个完整的流程——首先是构建了最大的放射学影像开源数据集,包含 20 万影像、41,000 个患者的影像,覆盖 930 种疾病等等;其次是构建了增强特定领域知识的多模态、多语言模型;最后还构建了相应的 benchmark。

关于谢伟迪教授

上海交通大学长聘轨副教授,国家(海外)高层次青年人才,上海市海外高层次人才计划,上海市启明星计划获得者,科技部科技创新 2030 —「新一代人工智能」重大项目青年项目负责人,国家基金委面上项目负责人。

他博士毕业于牛津大学视觉几何组 (Visual Geometry Group, VGG),师从 Professor Andrew Zisserman,Professor Alison Noble,是首批 Google-DeepMind 全额奖学金获得者,China-Oxford Scholarship 获得者,牛津大学工程系杰出奖获得者。

主要研究领域为计算机视觉,医学人工智能,共发表论文超 60 篇,包括 CVPR,ICCV, NeurIPS, ICML, IJCV, Nature Communications 等,Google Scholar 累计引用超 12,500 余次,多次获得国际顶级会议研讨会的最佳论文奖和最佳海报奖、最佳期刊论文奖,MICCAI Young Scientist Publication Impact Award Finalist;Nature Medicine,Nature Communications 特邀审稿人,计算机视觉和人工智能领域的旗舰会议 CVPR,NeurIPS,ECCV 的领域主席。

  • 个人主页:

https://weidixie.github.io

计算机视觉方面的顶级会议与顶级期刊 选择期刊时需根据研究方向、创新性类型及职业发展阶段综合判断,例如:博士论文扩展适合 IJCV,工业界技术落地适合 TIP。计算机视觉会议论文下载,其中包括ICCV、CVPR、ECCV、ACCV等。IPOL图像处理分析经典在线(文献+C/C++源码):​​​​​​​。 阅读详情

相关推荐

ADI官方例程HDL和No-OS生成Vivado工程

这一步是选择下载源,一般都是选择国内镜像,因为国外的源太慢了,这里选择阿里的镜像,如果没有这个选项可以在下面的User URL里添加就行,选择好源后然后点击下一步。下一步会从你选择的源上下载软件包目录,如果提示Unable to get setup from https://xxxxxx/,返回上一步,选择别的源,例如第二个163网易的源。然后就是你想要安装在哪了,下面的选项好像会决定环境变量存放在哪,不过一般都是个人电脑选择第一个默认的就行,然后点下一步。下好之后双击打开,就是这个界面了,直接点下一步。

代码匠的博客 3832

活动报名 | 上交大副教授谢伟迪:视频自监督学习

本期为青源LIVE第44期线上直播活动,参与直播互动有惊喜????!最近,自监督学习的方法取得了显著的进步,其与监督学习的方法相匹配,甚至超过了监督学习的方法。然而,研究的重点是从i.i.d数据中学习可转移的表征,例如图像。但在具体应用中,网络仍然需要在下游任务上使用手动注释进行微调。本期青源LIVE邀请了上海交通大学副教授谢伟迪博士做题为《视频自监督学习》的报告。主讲人:谢伟...

BAAIBeijing的博客 4606

Linux单独编译设备树,开发者分享 | Petalinux 工程中设备树的介绍

本文来自XILINX嵌入式产品应用工程师 Terry Ni设备树是 Petalinux kernel 的关键组件,接下来以 2020.1 版本为例,为大家介绍一下在Xilinx Petalinux 工程中的设备树是如何产生,配置以及修改的。Petalinux 工程中设备树的位置当我们创建了一个 petalinux 工程后(以zcu102为例),在编译的时候,会自动生成对应的设备树文件。这些设备树的...

weixin_28877107的博客 2594

【论文阅读】PMC-CLIP:使用生物医学文档的对比语言图像预训练

在大规模数据集上训练的基础模型最近在 CV 和 NLP 方面取得了飞速发展。相比之下,生物医学领域由于数据匮乏,发展远远滞后。为了解决这个问题,我们构建并发布了 PMC-OA,这是一个生物医学数据集,包含从 PubMedCentral 的 OpenAccess 子集收集的 160 万个图像标题对,比以前大 8 倍。PMC-OA 涵盖多种模式或疾病,大多数图像标题样本在更细粒度的级别上对齐,即子图和子标题。

dmdwan的博客 1405

从零配置EtherCAT IGH主站:手把手教你处理内核版本与实时性优化的那些坑

本文详细指导如何从零配置EtherCAT IGH主站,涵盖内核版本适配、实时性优化及常见问题解决方案。通过精确匹配内核头文件、应用实时补丁和优化网卡驱动,帮助开发者实现微秒级响应,适用于工业自动化、机器人控制等高精度场景。

weixin_30790841的博客 382

uniapp - 解决App端报错reportJSException >>>> exception function:createInstanceContext, exception:white sc

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,uniApp报错,reportJSException>>>>exceptionfunction:createInstanceContext,exception:whitescreencausecreateinstanceContextfailed,运行自定义基座时白屏,uniapp项目运行白屏reportJSException,检查没问题依旧报错,第三方库插件,组件,uniapp打包调试

🏆 前端领域优质创作者 1万+

从计算机视觉走向医疗AI,对话上海交大谢伟迪:定义问题比解决问题更重要

值得一提的是,谢伟迪曾庆幸「自己选择的 topic 恰好是后来大家感兴趣的事」。但笔者认为,研究课题的选择恰恰反应了团队带头人在该领域的独到观察,而谢伟迪将其表示为「定义问题」,在他看来,定义问题比解决问题更重要,只要一个有意义的问题被定义下来,后续会有无数的人跟进和解决。因此,我们需要思考,在当下的这个阶段,什么问题是最值得让模型去解决的?这点很重要。进一步地,当我们解决问题时,「人才-数据-算力」更是缺一不可。

HyperAI超神经 1466

MATLAB和S7-1200PLC水箱液位高度PID控制联合仿真(KEPserverOPC通信应用)

SMART PLC 向导PID的详细介绍请查看下面文章链接:S7-200 SMART PLC PID向导详细介绍(如何实现P、PD、PID控制器)-优快云博客文章浏览阅读1k次。这篇博客主要介绍SMART PLC PID向导的使用,PID控制相关的其它内容请查看专栏系列文章,常用链接如下:SMART PLC PID负压控制(过程量为负数)_负压控制pid控制程序_RXXW_Dor的博客-优快云博客1、如何实现PID反作用调节?S7-1200PLC和KEPserver OPC通信-优快云博客。

RXXW_Dor的博客 1781

招生|上海交通大学谢伟迪组科研实习

上海交通大学人工智能学院 (SAI) 谢伟迪课题组招 Computer Vision,AI4Science 方向科研实习,表现优异同学可获直硕/直博 offer。✦✦课题组简介✦MultiModal Perception Group 是上海交通大学人工智能学院的科研团队,负责人为谢伟迪副教授,于 2018 年在牛津大学视觉几何组 (VGG) 获得博士学位,导师是 Andrew Zisserman ...

HyperAI超神经 354

如何理解下一代ERP 即:华为MetaERP

如何理解下一代ERP 即:华为MetaERP 华为的 MetaERP核心定位: 华为MetaERP是华为公司自主研发的下一代企业核心商业管理系统。它不仅仅是一个传统的ERP(企业资源规划)系统,更是一个面向未来、基于云原生、AI驱动、安全可信的企业核心管理平台。

金牌架构师 1142

YOLOv11官方代码库与预训练模型下载:介绍Ultralytics官方GitHub及模型权重(yolov11n.pt, yolov11s.pt等)

本文介绍了Ultralytics官方GitHub仓库和YOLOv11预训练模型。Ultralytics仓库是YOLO系列算法的官方实现,包含YOLOv11最新代码、预训练模型、文档和工具。仓库采用清晰的代码结构和活跃的更新策略,支持全流程开发。YOLOv11提供了5种不同规模的模型变体(YOLOv11n/s/m/l/x),在精度、速度和模型大小间权衡,适用于从移动设备到高精度检测等不同场景。各模型在COCO数据集上预训练,可直接使用或微调,满足多样化应用需求。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 5830

LINNAEUS:生物医学文献的物种名称识别系统

LINNAEUS:生物医学文献的物种名称识别系统 Paper: https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-11-85 背景

发呆的比目鱼的博客 1956

【LLM技术全景】规模定律与模型演进:为什么模型越大越强?

规模定律性能 ∝ 参数量^N性能 ∝ 数据量^M性能 ∝ 计算量^L其中 N, M, L 是小于1的正数(通常0.05~0.15)关键观察损失与规模的关系呈幂律(不是线性,也不是对数)三个要素(参数、数据、计算)需要协调增长只增加其中一个要素,收益会边际递减规模定律(Scaling Law):1. 模型性能与参数量、数据量、计算量呈幂律关系2. Kaplan定律(2020):参数量是主要因素3. Chinchilla定律(2022):数据和参数同等重要,最优比例1:20。

专注:太空算力、AI infra、异构调度、大模型成本工程 495

医学多模态模型总结(一)

多模态医学模型总计,包括使用的方法,主要贡献和特点

weixin_43731005的博客 5302

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

医疗多模态大模型是什么?医学多模态模型总结:算法其实很简单,拼的就是硬件算力的问题!多模态大模型(医疗影像分析)

贡献我们提出了第一个适用于医学领域的多模态少样本学习器,它有望实现新颖的临床应用,例如基于检索到的多模态上下文的基本原理生成和调节。我们创建了一个新颖的数据集,可以对一般医学领域的多模态少样本学习器进行预训练。我们创建了一个新颖的 USMLE 式评估数据集,将医学 VQA 与复杂的跨专业医学推理相结合。我们强调现有评估策略的缺点,并使用专用的评估应用程序与医疗评估员一起对开放式 VQA 世代进行深入的临床评估研究。

2401_85373691的博客 2044

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Nature重磅!上海交大提出全球首个医学循证推理智能体,破解罕见病诊断难题!

首先,在新华医院,DeepRare 已经完成院内部署,我们正在进行紧张的内测,很快将正式用于罕见病诊疗的质控流程,帮助医生查漏补缺,守住诊断的 “安全底线”。,彻底改变了过去“不测基因就难确诊”的困境,为基层医院的快速筛查提供了强有力的工具。从实验室的代码,到医院的系统,再到一家名为 “观壹智能” 的创业公司,这个团队展示了 “医工交叉” 最理想的模样。此外,经新华医院专家团队验证,DeepRare生成的具备完整证据链的推理报告,获得了人类专家95.4% 的高度认可,真正做到了“有理有据”。

阿木寺的博客 284

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Biomed-Enriched:具有 LLM 注释的大型生物医学数据集,具有临床和教育价值

本研究以 PubMed Central Open Access(PMC-OA)语料库为基础,提出了一个新的生物医学数据集 Biomed-Enriched,该数据集采用了基于 LLM 的分阶段注释。虽然 LLM 在各种任务中普遍表现出很高的性能,但在医学和生物医学领域却缺乏专业性和术语准确性。造成这种情况的原因之一是,训练数据主要来自网络,而专业领域的信息很少。特别是,由于隐私限制,临床数据很难公布,非英语数据也很少。

LiYingL的博客 391

Nature/Science连夜抢发!计算机视觉的重磅“技术革命”!三天连登五大国际顶刊!...

随着深度学习技术的迅速发展,计算机视觉技术领域迎来了新的机遇。传统的成像系统受限于硬件能力和物理法则,往往难以在高分辨率和高速成像之间找到平衡。然而,深度学习凭借其强大的数据处理能力和模式识别优势,正逐步突破这些瓶颈。在基于深度学习的计算机视觉技术中,神经网络能够有效建模和分析复杂数据,从而实现超分辨率成像、快速成像和高精度成像等多项挑战性任务。这一技术不仅提升了成像质量,而且显著缩短了数据处理时...

gzq0723的博客 327

Python 基础系列 19 - 性能基准 Performance Benchmarking

今天梳理一下 Python list 列表,set 集合,dict 字典,tuple 元组对象各方法性能,使用时可作为参考,更多 Python 基础系列,请参考 Python 基础知识大纲。

wumingxiaoyao的博客 1141

xray 被动_社区版xray与rad深度融合(媲美高级版)

几天前xray社区发布了全新爬虫rad,全名 Radium. 自此Xray宇宙又添一员大将。01一直以来社区工具“ xray 扫描器”广受好评。唯一遗憾的是作为被动扫描器,主动扫描受限于基础爬虫较弱。无法发挥xray扫描器强大的被动扫描实力。于是派生出了xray与crawlergo联动等流派,直到rad的出现。xray寻得良配Rad爬虫和高级版xray的深度融合一键使用把我馋的够呛但是我...

weixin_42463165的博客 5952

Knowledge-enhanced Black-box Attacks for Recommendations

摘要最近的研究表明,基于深度神经网络的推荐系统容易受到对抗性攻击,攻击者可以将精心制作的假用户配置文件(即假用户与之交互的一组项目)注入目标推荐系统以实现恶意攻击。目的,例如提升或降级一组目标项目。由于安全和隐私问题,在黑盒设置下执行对抗性攻击更为实用,因为攻击者无法轻易访问目标系统的架构/参数和训练数据。然而,由于目标系统的资源有限,在黑盒设置下生成高质量的虚假用户配置文件相当具有挑战性。为了应对这一挑战,在这项工作中,我们通过利用项目的属性信息(即项目的知识图谱)引入了一种新颖的策略,该策略可以公开访问

qq_43532928的博客 713

【论文】外部知识的段落重排

Incorporating Explicit Knowledge in Pre-trained Language Models for Passage Re-ranking 论文链接:https://arxiv.org/abs/2204.11673 ABSTRACT 现有的基于 PLM 的重排序器可能很容易受到词汇不匹配和缺乏特定领域知识的影响。 本文引入了知识图谱中的显性知识,并且剪去嘈杂和不可靠的关系;将显性知识与隐性知识交互。 INTRODUCTION 隐性知识限制了PLM模型的重

elf1110的博客 1636

VALSE Webinar 20-23期 源头活水:自监督与无监督学习探讨

【B站】 报告时间:2020年09月16日(星期三)晚上20:00(北京时间) 主题:源头活水:自监督与无监督学习探讨 主持人:姬艳丽(电子科技大学) 报告嘉宾:谢伟迪(VGG, University of Oxford) 报告题目:Self-supervised Visual Representation Learning from Videos 术语 proxy task 自监督videos 存在问题: 1.训练太弱 2.与下游任务不匹配 解决目的: 学习一个好的表达来predict下一帧 面临挑战:

qq_40662074的博客 946
上一篇: 含284个数据集,覆盖18项临床任务,上海AI Lab等发布多模态医疗基准GMAI-MMBench
下一篇: 今晚19点!伦敦大学国王学院江佳齐博士:可旋转视触觉传感与透明物体感知抓取...
HyperAI超神经
博客等级 码龄7年 8872粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值