Google praised: Russian student created a neural network that can detect cancer - ForumDaily
The article has been automatically translated into English by Google Translate from Russian and has not been edited.
Переклад цього матеріалу українською мовою з російської було автоматично здійснено сервісом Google Translate, без подальшого редагування тексту.
Bu məqalə Google Translate servisi vasitəsi ilə avtomatik olaraq rus dilindən azərbaycan dilinə tərcümə olunmuşdur. Bundan sonra mətn redaktə edilməmişdir.

Google praised: Russian student created a neural network that can detect cancer

Ivan is 21, he is engaged in the development of machine learning for Promobot robots. Vanya and his team created a neural network that determines the likelihood of a cancerous tumor. Jobs featured in 1% of the best in Google competition, says TJournal.

Фото: Depositphotos

From what it all began

I started machine learning as far back as 3 a year ago, but began to seriously study deep neural networks not so long ago - less than a year ago. I am currently working on natural language processing for Promobot service robots. "Natural language" is the speech of a person that a robot, standing, for example, in a bank, must process and provide the right service.

Six months ago, I decided that deep neural networks interests me - and began to study everything that was available.

In just two months, I completed four major machine learning courses. All courses are free, only for one I paid $ 45 (actually this is the price of one month of the course, but I managed to go through the entire program for this month).

Of course, this is an unhealthy pace. In a good way, this amount of information goes much longer, but I did 12-14 hours a day with coffee, green tea, and everything I could find.

Any education should have an exhaust - result, practice, decision. I decided to participate in the competition on the Google platform Kaggle.

What kind of competition

Kaggle is a platform for international machine learning competitions. Thousands of researchers participate in each competition - 1157 teams from the USA, Germany, China, Korea - from around the world competed with us.

The platform provides data. In our case, these are pictures of lymph nodes: 220 thousand shots for training and 57 thousands - to test the model. These are pictures of real patients submitted for research (the pictures are anonymous - the patient’s personal data were not disclosed). This data set is called dataset, and they can be different: they can consist of pictures, videos, texts, or recordings of people's speech, as in my case in Promobot. (The volume can also be different: I worked with a thousand data, and with 10 millions).

The task is simple: to determine from the picture whether the patient has cancer or not.

How did we do this?

Using a neural network.

How it works

To teach a neural network something, you need to find a pattern.

For example, when working with people’s speech, a neural network should find a connection between people’s remarks and a service — say, a window in the MFC. Imagine: a person approaches a robot and says: “I need to issue foreign". Not a “foreign passport”, namely “foreign". There is no “foreign” in the public services system, but the neural network must understand which window to send the client to.

In the case of images: what is the difference between pictures that have cancer on them from those that don't have it?

To do this, the image needs to be converted to data. This is where the fun begins.

1. Any image consists of pixels. Pixels are divided into three channels: R (red), G (green) and B (blue)

If at least once in your life you opened Photoshop or any similar program, you should know this.

Each channel has a meaning. This number is simply the amount of red / green / blue in each particular pixel.

Imagine that we have a black and white image - in this case, each pixel is encoded with one number.

2. We take a small area of ​​the image

For example, 5 by 5 pixels. Everyone has a meaning, remember?

A “normal” neural network multiplies the values ​​of all pixels with all the values ​​of neurons from the next layer. This process is repeated for all layers. Sounds complicated. Moreover, it is long, voluminous and not accurate enough.

We use convolutional neural networkswhose main idea is convolution. The bottom line is that each image fragment is separately multiplied by some number (convolution matrix) The result is summarized and recorded in the final image - in the same place, in the same fragment.

3. We impose a matrix on the image. For example, 2 by 2 pixels

Each value from this box is multiplied by some number (for example, by 3), and then it is added up. Then we shift it - and we consider the values ​​already in another. Then we shift again - and so on until we process everything.

And this operation takes place for each channel - red, green and blue (after all, each pixel has three values).

4. It turns out a small cube

This cube is the same image, but more concentrated. The image was large and incomprehensible, and we made it smaller and more accurate.

Now imagine the number of values ​​and calculations for such an image:

Now imagine that it looks like this:

Now imagine that such images - 220 000.

5. At the end, the neural network gives one value that says: is there cancer or not. The one whose neural network was more accurate than others wins.

I worked as a team: two from Germany, one Indian from England and I, Vanya from Russia. We were found right on the competition forum. I was the youngest in the team: I got 21, an Indian about 25 (and he has a PhD in quantum informatics), for both Germans - in the area of ​​35.

Experience the Power of Effective Results

The competition was attended by 1157 teams. We entered the 1% of the best

It is difficult to say what exactly we were better than others. Teams publish their decisions voluntarily, and usually only top teams do it (if you have a bad decision, then there is no point in publishing it - this is the logic).

Luck plays a big role (yes, luck in the development of neural networks). The fact is that training a neural network is a non-deterministic process. That is, every time you launch it, you get a new network. You may be lucky or not lucky - the network will work a little better or a little worse - this happens.

I know that we have put together almost the best solution that could be put together then. We used almost all the chips that we knew and which are now on the cutting edge of machine learning.

PS Then we took the ideas that we used in the competition, collected everything in one article and submitted it to the international conference on machine vision CVPR - one of the most top in the world.

The work was tested by experts, and we (or rather just one member of the team) presented it in California. The work did not become better - the team from Google won.

Read also on ForumDaily:

Diagnosis by photo: how the American neural network recognizes genetic diseases

A Ukrainian-based startup recognized as one of the fastest-growing in the US: the success story of Stach Wozniak

Which online translator works best

How did a San Francisco programmer achieve 12 unrealistic goals?

Miscellanea cancer scientist Google Our people
Subscribe to ForumDaily on Google News

Do you want more important and interesting news about life in the USA and immigration to America? — support us donate! Also subscribe to our page Facebook. Select the “Priority in display” option and read us first. Also, don't forget to subscribe to our РєР ° РЅР ° Р »РІ Telegram  and Instagram- there is a lot of interesting things there. And join thousands of readers ForumDaily New York — there you will find a lot of interesting and positive information about life in the metropolis. 



 
1082 requests in 1,197 seconds.