Skip to main content

Federated Learning


Federated learning is a type of machine learning in which the process in executed in the user devices instead sending the user data to the server.
As we know how google takes user data which increase the privacy issues but we know that they take data for making our user experience better through machine learning that’s why they take our data which they store in their data center. To eliminate the sending the data packet to the server. Google introduced a new concept called federated learning.

Federated learning enables multiple actors to build a common. Robust machine learning model without sharing data, thus addressing critical issues such as data privacy, data security, data access right and access to heterogeneous data.

How the federated learning works?
There are mainly three steps:
1.      Request.
2.      Response.
3.      Report.



1.Firstly, the device sends a request to the server for the related data required for the process to be conducted.
2.Server responds to the request and send the confirmation data and the algorithm which is required to process the user data into report.
3.Training part is done on the devices and after the training is completed report is send to the server which is then use to machine learning.

But still federated learning is not perfect it has many problem or challenges.
1. One of the challenges is communication bandwidth. Federated learning on mobile phones relies on wireless communication to collaboratively learn a machine learning model. Although compute resources of mobile phones are becoming increasingly powerful, the bandwidth of wireless communication has not increased as much. As such, the bottleneck is shifted from computation to communication. As a consequence, limited communication bandwidth could incur long communication latency, and thus could significantly slow down the convergence time of the federated learning process.
2. Another challenge that federated learning needs to address is the reliability of end devices which participate in the federated learning process. Federated learning is an iterative process, it relies on the participating end devices to continuously communicate over iterations until the learning process converges. However, in real-world deployments, due to various practical reasons, not all end devices may fully participate in the complete iterative process from beginning to end.


Comments

Popular posts from this blog

Hustle

The innate hunger to build,create,do something & try. Hustle isn't just working on the things you like,it means doing the things you don't enjoy so you can do the things you love. Hustle:The ability to make things happen in light of knowing,how to get there ,but operate with the general principle that action breed results. Hustle stands for: H - How U - U  S -  Survive T -  The L - life  E - Everyday Some days I'm Humble. Some days I  Struggle. But everyday I Hustle. Remember Every Boss started as a worker.

TCP Segment

A TCP segment is made up of a TCP header and a data section. Source Port :  A source port is a high numbered port chosen from a special section of ports known as ephemeral ports. A source port is needed so that when the web server replies, the computer making the original request can send this data to the program that was actually requesting it. It is in this way that when it web server responds to your requests to view a web page that this response gets received by your web browser and not your word processor. Destination Port : port on which the client in request the data( The destination port is the port of the service the traffic is intended for ) Sequence Number :This is a 32-bit number that's used to keep track of where in a sequence of TCP segments this one is expected to be.There are limits to the total size of what we send across the wire. In Ethernet frame, it's usually limited in size to 1,518 bytes, but we usually need to send way more data than that. At the transp...

Troubleshooting and debugging

Troubleshooting is the process of identifying, analyzing, and solving problems.  Debugging is the process of identifying, analyzing, and removing bugs in a system. We sometimes use troubleshooting and debugging interchangeably.  But generally, we say troubleshooting when we're fixing problems in the system running the application, and debugging when we're fixing the bugs in the actual code of the application. Debuggers let us follow the code line by line, inspect changes in variable assignments, interrupt the program when a specific condition is met, and more. System calls are the calls that the programs running on our computer make to the running kernel.   A reproduction case is a way to verify if the problem is present or not. Where to check for log file in OS? On Linux , you'd read system logs like /var/log/syslog and user-specific logs like the .xsession-errors file located in the user's home directory. On MacOs , on top of the system logs, you'd go through...