Bryan Blog

个人分享 但愿各位看官喜欢

FATE 作业执行全流程追踪

Full process tracking of FATE job execution

背景信息 在最初接触 FATE 源码时就整理过 FATE Flow 源码解析 - 作业提交处理流程,文章整理了 FATE 是如何接收用户提交的作业 (job),然后将作业拆分为独立的任务 (task),然后执行完成各个任务,在这个过程中不断更新作业(job)的执行进度,直到最终完成整个作业(job)。如果期望对 FATE 作业提交的执行流程有一个基础的认识,可以详细了解下之前的文章。 这篇...

最简安全纵向联邦学习实现探索

Exploring the most simplified implementation of secure vertical federated learning

背景介绍 在之前的 FATE 纵向联邦学习实现探索 中介绍了纵向联邦神经网络实现的方案,但是神经网络模型比较复杂,整体的流程也会更复杂,很难简单呈现一个基础的安全纵向联邦的设计思想。因此以纵向联邦线性回归为例,去除与基础纵向联邦无关的部分,由浅入深介绍一个最简化的安全纵向联邦的设计方案。 纵向联邦线性回归 纵向联邦基础思想 前面的 联邦学习下线性回归算法实现概述 中介绍了如何实现最简单的...

深入探索 FATE 纵向联邦学习安全方案

In-depth exploration of FATE vertical federated learning security solution

背景介绍 在之前的 FATE 纵向联邦学习实现探索 介绍了纵向联邦神经网络训练的完整流程,在 深入探索 FATE 纵向联邦学习模型设计方案 详细介绍了纵向联邦神经网络的模型设计方案,但是对于如何在模型训练过程中保证模型的安全性基本都没有深入展开。这篇文章是 FATE 纵向联邦神经网络的最后一篇,补上了安全性这一环。 安全协议 在开始具体的内容的介绍前,需要先了解同态加密以及经典的同态加密实...

深入探索 FATE 纵向联邦学习模型设计方案

In-depth exploration of the FATE vertical federated learning model design solution

背景介绍 之前整理了一篇文章 FATE 纵向联邦学习实现探索 整体介绍了纵向联邦神经网络模型训练的流程,从中可以大致了解 FATE 纵向联邦神经网络中的模型设计: 包含训练的数据的参与方会训练一个本地模型(Bottom Model),此模型用于提取本地数据中包含的特征; 包含标签的参与方会额外训练一个全局模型(Top Model),此模型用于整合各个参与方提取的特征,根据整合的特...

FATE 纵向联邦学习实现探索

FATE vertical federated learning implementation exploration

纵向联邦学习 在之前的文章 联邦学习下线性回归算法实现概述 与 深入探索联邦学习框架 Flower 中,主要介绍的都是横向联邦学习的实践。最近针对纵向联邦做了一些探索,整理相关内容在这边。 横向联邦是 Google 在 2016 年提出的,主要解决拥有类似数据的多方进行联合训练的问题。而纵向联邦是 2018 年杨强教授提出的,主要解决跨行业的企业之间联合进行模型训练的问题。比如淘宝与银行之...

深入探索联邦学习框架 Flower

A deep dive into the federated learning framework Flower

联邦学习框架 本文主要期望介绍一个设计良好的联邦学习框架 Flower,在开始介绍 Flower 框架的细节前,先了解下联邦学习框架的基础知识。 作为一个联邦学习框架,必然会包含对横向联邦学习的支持。横向联邦是指拥有类似数据的多方可以在不泄露数据的情况下联合训练出一个模型,这个模型可以充分利用各方的数据,接近将全部数据集中在一起进行训练的效果。横向联邦学习的一般流程如下: 横向联邦学...

联邦学习 Non-IID 算法实现

Federated Learning Non-IID Algorithm implementation

独立同分布 独立同分布概念 众所周知,在机器学习进行模型训练时,基本上都假设训练样本符合独立同分布(IID)。 独立,表示多个抽样样本之间没有相关关系,彼此不会互相影响。比如掷骰子中前后两次互不影响, 同分布,表示多个样本遵循同样的分布规律。比如掷骰子中多次都符合同样的规律,即每个数出现的概率都为 1/6 因为机器学习都是通过学习历史数据总结出规律从而预测未来数据的,如果历...

GPT Engineer 实践与源码解析

GPT engineer practice and source code analysis

背景介绍 GPT Engineer 是一个基于需求描述自动生成项目源码的开源项目,主打轻量,灵活生成项目源码,可以在 AI 生成与人工生成之间进行切换,底层是基于 GPT-4 对应的编程能力,目前 Github 上 star 数量已经达到了 45k,算是一个十分火热的 AI 项目。 与大热的 AutoGPT 相比,GPT Engineer 更加轻量,没有使用递归的请求调用,避免陷入反复请求...

medical-labelme 升级方案概述

Overview of the medical-labelme upgrade plan

背景信息 在前面的文章中介绍了基于 Labelme 改造的 medical-labelme,通过第一阶段的改造,最终保持对 Labelme 的向前兼容的情况下有限支持了 DICOM 文件的标注,最终发布了 v0.1.0。 为了解决 v0.1.0 版本对 DICOM 多帧图像支持不足的问题,本次从底层开始进行深层次的改造,但是也被迫放弃了与 Labelme 的完全兼容。Labelme 标注输...

自研医疗图像标注工具 medical-labelme

Self-developed medical image annotation tool medical-labelme

背景信息 为了将医疗影像用于机器学习算法训练,需要对医疗影像数据进行标注。但是医疗影像中涉及大量的隐私信息,因此医疗影像的打标需要具备私有化部署或离线运行的能力。 图像标注存在不少开源方案,使用最多的是下面这些: labelme 11.1k star, 基于 QT 实现可视化 label-studio 14.3k star, 基于 web 服务可视化,后端使用 Python ...