🔑 Keywords: GBoard, Federated Learning, COE, CDE, DPC
With the growing adoption of mobile keyboard applications like Google GBoard, significant challenges arise in safeguarding 🛡️ user privacy during distributed machine learning processes such as Federated Learning (FL). Traditional FL frameworks, while decentralized, still expose sensitive user data 📂 to potential security risks and model instability caused by outlier data during training.
You can find the Project Report: Here
This project tackles these challenges with a dual-layered solution:
-
🔒 Enhanced Security with Distributed Paillier Cryptosystem (DPC)
- Ensures sensitive user information remains encrypted 🔐 and inaccessible during computation.
- Preserves privacy 🕵️♂️ without compromising learning quality.
- Note: Currently, the DPC is in its pseudo-deployment phase 🛠️ and under active development.
-
⚙️ Improved Model Robustness with COE/CDE Techniques
- Integrates Component Orientation Estimation (COE) or Component Dispersion Estimation (CDE) to handle anomalous or outlier data.
- Detects and adapts to data irregularities, ensuring smoother 🛠️ and more reliable training.
This project introduces a novel framework for securing and stabilizing Federated Learning 🤖, paving the way for privacy-preserving and resilient machine learning in user-centric applications.
📱 A React Native-based keyboard application has already been developed, showcasing the practical implementation of this privacy-focused and robust Federated Learning framework in real-world scenarios.
- 🔧 DPC: Needs corrections to enhance security and functionality.
- 🎨 Application's UI: Requires updates to improve user experience.
- 🖥️ Backend: Transitioning the application's backend to TensorFlow Lite for better performance and compatibility.
- 💻 Codebase: Moving to JavaScript (JS) for enhanced scalability and flexibility.
This project is open to contributors who share a passion for privacy-first machine learning and innovative AI applications. Whether you’re interested in advancing the DPC implementation, improving the UI, or contributing to the code transition, your efforts are welcome! 🚀