GoTo at ITMO: Botali week. Tore 2 button accordions



    More recently, another GoTo school in St. Petersburg ended . Unlike last fall, this time Peter pleased us with a large number of sunny and warm November days, there were two of them. One of these days, military units from young and not so programmers went to get a code: kiss unknown St. Petersburg girls, go to the casting station on the escalator, feed Oleg Georgievich with the blood of an innocent programmer and capture Napoleon’s face between the horse’s legs.
    In the remaining days, we did the old-fashioned no less exciting projects in bioinformatics, machine learning, distributed systems and chased teas in the kitchen with talk about the beautiful. The ITMO report can be read here .
    Let's not judge what is more interesting to the reader, about everything in order under the cut.

    I’ll say right away that one of the most important events at GoTo Camp is initiation into programmers, or, in short, they will “dedicate”. We will not reveal all the secrets, we will only say that the teams need to collect some code, complete tasks and get to the final point for initiation.
    If at the summer schools the organizers still have a place to take a walk: field, forest, puddles, then in the city things are not very good with the night forest. Suggestions of St. Petersburg romantics to use the cemetery or Neva in November were very attractive, but nevertheless decided that we were not ready for such a PR.
    It was decided that it would be limited to a quest in the night city, on this beautiful day we met Petersburgers, kissed women for the first time and talked with passers-by about GMOs and the blockchain. One of the teams decided to be more original - interviewed on an escalator - in the hope that it would be more difficult for an intelligent person to get away from talking about the colonization of Mars:

    - Do you think that we need to fly to Mars or need to solve some more pressing problems?
    - To whom? Us specifically? Or is that all?
    - Yes, yes, yes, to all of us!
    “I think they definitely need ... If they had flown away, I would definitely not have resisted.” I don’t really have anything special to do there, I’m not in a hurry, but since n *** will come to everything soon, we should study this area, just in case ...
    But as if even if *** comes, then I will not fly anywhere from here. So I don’t need to go to Mars, like this ...
    - Thank you.

    Pair of proofs




    Yes, the topic with kisses was not disclosed. One of the St. Petersburg cafes with its action "coffee for an unexpected kiss of a stranger" prompted the orgs to include in the program an unforgettable adventure for many of the guys. Remembering yourself at this great age, you can imagine that storm of emotions and present this unique coffee with the taste of victory, comments are unnecessary.
    The team that didn’t have time to close the cafe had to get acquainted with the victim right on the street and graciously kiss at least a hand ... The
    attentive reader will ask, what did the female participants do?
    The female share in our schools rarely exceeds 10%, this time with such a very rich catch - they barely reached 6%. And yes, our beautiful ladies were the first to drink coffee in the corner.

    There is nothing to enumerate, the benefit of St. Petersburg's hospitality was accompanied by us: kind people let angry trinity try to buy some pet in a locked pharmacy, gave interviews and advice, exchanged books and things on the streets, passed the test with a smile and dances, sang and played instead of Tsoi, they opened closed doors for children’s songs and introduced us to the city.

    What is interesting about this? Here is the task for you this evening, the simplest one - try several times to choose a person in the subway and just smile at him, looking into his eyes, for 5 minutes.

    The evening went well, and even the simplest tasks proved to be good: even St. Petersburg residents could not find Napoleon’s face on the same spot near the horse of Anichkov’s bridge, and the moonlight added an entourage to an unexpected coincidence - the monument to the invisibility with which the team had to take a picture turned out to be in the vicinity of a mental hospital.
    However, we will not reveal all the secrets, we hope that this is not the last time in St. Petersburg.

    They all returned healthy and joyful, fed the pet and named Oleg Georgievich. The stray and frozen organizers slept especially well that night, in the morning this beautiful day was waiting for them - the day before the deadline and presentations.

    And here, by the way, are some of the projects that were not too lazy to make descriptions for themselves on time.
    Search in video

    Initially, Stas Naumov set out to make a convenient program for glasses of mixed reality. Its essence can be described by two goals:
    1) Reminders at the sight of the goal. The user can add reminders and the next time the glasses “see” the desired object, a notification appears. For example, “withdraw money” will be displayed when the user sees an ATM.
    2) Search for memories. At the user's request, find a moment from the past that answers the question asked. For example, to the question “Have I closed the door?” The answer will be a video fragment where the user leaves the apartment.
    Given the current processing power, these tasks are very difficult to solve in the “online” mode, so it was decided to reduce the task to a simpler one: search for a video moment in a textual description and tagging frames. By analogy with DSSM: using neural networks created a common space for pictures and texts.
    In this space, pictures and texts that are identical in meaning are close as dots. This space was the result of the penultimate layer of the pre-trained VGG16. For texts, word2vec was used, followed by processing by a one-dimensional convolutional network. By the final presentation of projects in GoTo, we got a bot to search for the moment of the video in a text description.

    DrugRNN

    Now the process of developing new drugs is expensive and not always effective. For a long time, the whole farm would like to get a method that would immediately generate the most suitable structures. In the project, Maxim Manainen taught RNN, which generates molecules for binding to given receptors, subject to additional parameters (AlogP, AlogD, affinity for this receptor).
    The process of teaching a model is similar to teaching a model to generate text - we feed it sequences, and it learns to predict the next character, given the previous ones. But here everything is not so simple. We need to generate molecules to communicate with specific receptors, so we need to train the model on the appropriate sample. However, the number of known reacting molecules is usually extremely small (about 1-5 thousand) and it is impossible to train RNN-ku on them in connection with fast overfit. To combat this, I had to resort to transfer learning — first we learn how to generate abstract molecules, and then we retrain on the target sample. The final model generates 60-65% of valid smile-s before and after retraining.
    The minima of the curves of implicit probabilities that the neuron places smiles under the condition of affinity approach real affinity values, which indicates a good understanding of the characteristics of molecules that react with the receptor. There were also attempts to validate the method using docking, but there were problems interpreting its results.

    Exonum-http-get-auth

    Rust-library for authentication of GET requests in Exonum and JS-snippet for generating a signature by an easy client.
    A request is considered correct if its HTTP-header X-Auth contains a signature with this key on the type, URL and time of sending, and if it was sent less than 30 seconds ago (to mitigate replay).
    The difficulties in the process of developing the project of Stepan Kuznetsov were related, on the one hand, to the need to understand the relatively large and young (and therefore not always well-documented) framework, and, on the other hand, to the non-trivial implementation of some patterns in Rust: for example, due to the use of the return abstract types, now the library only works with the nightly compiler.

    Recommended system of educational courses

    The project consists in recommending courses from various well-known resources, for example, Coursera, Stepik and so on. Recommendations are made on the basis of basic information about the user (education, knowledge of various programming languages, the technology stack of the user, etc.) and on the basis of vacancies or analogues.
    At the moment, the MVP version is ready, which is a web application in which the user fills in information about himself in several stages, and then receives courses relevant to him. The basic version of the project implements an SVD decomposition algorithm based on tags of courses, vacancies and key user skills, that is, a full text description is not taken into account, which negatively affects the quality of recommendations. Therefore, it was decided to begin to understand using a more advanced approach with DSSM, which will take into account the full textual descriptions.

    Speed ​​reading with EPOC +

    A couple of students took up projects using the EPOC + neural interface in the task of speed reading and determining interest in the text. One of the possible ways of reading speed is to demonstrate the text one word at a time, while the words switch at high speed. This method is especially convenient for reading on small screens, for example, on mobile phones. The problems of simple applications arise when the reader is thoughtful or distracted and can skip part of the text and can no longer easily go back. The guys tried to catch the moments when the user loses the thread of the story and slow down the text on them. For the task with attention - we received text with markup for interesting and boring or not informative places in the text, or simply simply markup of our concentration in the reading process.
    In the course of the project, they wrote and compared the work of an autoregressive neural network that recognizes signals from the neural interface, RNN, and gradually began to move towards the addition of reinforcement learning to scale to people with different patterns.

    Recognition of notes in piano pieces

    Recognition of notes in piano pieces A

    neural network that allows you to recognize notes in recorded piano pieces.
    Alena Karnaukhova implemented a model that translates piano sound files into their musical notation.
    The main network that recognizes notes was a convolutional neural network (“generator”). She learned to recognize chords on clean (no noise) data. But if you submit real data to such a network, it will not do the job well. Therefore, in parallel with the recognition of notes, the convolutional network learned to distinguish real data from pure data. The second neural network, the discriminator, helped her in this. She took the processed data from the penultimate fully connected layer of the convolutional network and tried, on the contrary, to learn how to distinguish the noisy data from the pure data as accurately as possible. Thus, forcing the convolutional network and discriminator to “compete”, the model learned to recognize notes in real piano pieces with an accuracy of 70%.

    Assessment of correlation of gene expression: a comparison of robust methods

    Since noise and spikes are often present in biological data, it is important to use the correct methods for estimating correlation. But many of them are used undeservedly little, although according to theoretical data, they are more resistant to certain noise.
    Maria Sivtsova’s project was based on the article “Sparse Estimation of High-Dimensional Correlation Matrices”, which compared various methods for assessing correlation, and the problem of calculating correlation in biological data - a gene expression matrix. A comparison was made on the generated biological data using the Splatter library and several types of noise on two different groups of cells. As a result, in a small sample the same methods showed themselves differently, but some of them were very unstable to specific types of noise. In general, the results obtained were consistent with the theoretical results from the
    article. In the future, it is also planned to use other methods and consider them with new examples.

    The rest happily left us only projects code and presentations for us, took courses and accumulated knowledge on future projects.


    Oh yes, where are 2 button accordions, you ask.

    Proudly capturing one of the hostels with a large kitchen, we decided to recall the stories about apartment houses and literary clubs, and make our own Green Lantern.

    Invited in the evenings by archaeologists, mathematicians and just had interesting conversations with a tea bag. One evening, musicians, living, real, came to visit us!

    We haven’t reached the lullaby for the programmers yet, although the Bashkir bedtime stories read what to hide, you won’t find such trash, we couldn’t help but share. They were friends of our “cult” Nastya Ivanova-Moskovskaya (in narrow circles, Baba Nastya) - the group “Kill the barber”. It is worth noting that it is extremely useful to be friends with non-programmer schools, Nastya runs workshops in the Summer School (the one that was previously called LR RR) and introduces us to a lot of interesting people from another world. The school, by the way, is cool, we envy white envy - they can leave for the woods with tents, but we can only dream of good Internet in nature. The guys are very enthusiastic, except for guitars, played on bells, saw and metallophone. It was very moving and sincere, somewhere near the end, even the most severe programming hearts in the corner melted and pushed the laptops, having set to learn neurons. After that, all musical instruments fell into the hands of programmers, as usual - neither in a fairy tale, nor in pen to describe.



    And the school itself was rather soulful, albeit very fast, the short one stood out. But we all had time, met and spent a lot of useful hours with ITMO, BIOCAD, BitFury, WorldQuant, IDealMachine - we talked with Fedor Tsarev about what to do after you became the world champion in programming, about why to go to the biotech engineer , about accelerators and investments, sorted out the hype around the blockchain with Exonum.

    We were sheltered by an extremely interesting and beautiful building on Vaska, where the first elevator appeared and now ITMO University's Technopark is located. This institution appeared at the beginning of the 20th century, there was a craft school of Tsarevich Nikolai for watch and optical craftsmen. Every morning we were delighted by a beautiful staircase: half spiral, half rectangular.



    In winterwe are exploring the House-Commune of Vnesheconombank and MISiS, the Center for Blockchain Competencies will be opened there the other day, we will get acquainted with Soviet constructivism in architecture and not only.

    By the way, this time during the New Year holidays we are planning a parallel school in Berlin - a kind of workshop with GNUnet, secushare, Matrix, CCC, C-base and other communities. It seems very important to us to interact with foreign communities and open source projects, we hope to move in this direction, join us .

    Also popular now: