Bryan Blog

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

人 GPT 协作,从 0 手撸一个量化交易回测平台

Collaborate with GPT,create a quantitative trading backtesting platform from scratch

背景介绍 掌握技能最快的方法就是用技能创造产品,前一阵子对 GPT 辅助编程与项目生成做过较多的调研,但是一直处于试水阶段,没能发挥出 GPT 辅助编程的能力。 本次从新领域入手,借助 GPT 的力量,从 0 手撸一个量化交易回测平台,从这个过程看看 GPT 辅助编程到底有多强,能多大程度帮助程序员,是否有可能替代程序员。 效果展示 实际花费 2 周的休息时间,耗时 116 个番茄钟,从...

难以训练的深度学习

Difficult to train deep learning

背景介绍 深度学习的威力众所周知,但其模型训练过程常伴随着繁琐的挑战。许多人在深度学习的实践中都曾遇到过各种问题,这些问题使得理想模型的训练变得更加复杂。本文将以理论结合实践的方式,探讨深度学习训练过程中常见的问题及相应解决方案,主要涉及以下几个方面: 梯度消失与梯度爆炸 收敛速度缓慢 过拟合 梯度消失与梯度爆炸 是什么(What) 深度学习中模型参数的更新主要使用 梯...

从 0 手撸一个 pytorch

Implementing a simple version of pytorch from 0

背景介绍 最近抽空看了下 Andrej Karpathy 的视频教程 building micrograd,教程的质量很高。教程不需要任何前置机器学习基础,只需要有高中水平的数学基础即可。整个教程从 0 到 1 手撸了一个类 pytorch 的机器学习库 micrograd,核心代码不到 100 行。虽然为了简化没有实现复杂的矩阵运算,但是对于理解 pytorch 的设计思想有很大帮助。 ...

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 因为机器学习都是通过学习历史数据总结出规律从而预测未来数据的,如果历...