Преимущества интеграции документации в ваш рабочий процесс

Как научить компьютер думать как человек? Как вы можете воспроизвести то, что наши нейронные сети делают с кодом? Может ли система научиться распознавать изображения и различать голоса, как это делает наш мозг? На эти вопросы пытается ответить Амирсина Торфи, докторант информатики и электротехники.

«Это вопрос на миллион долларов, - говорит Торфи. «Если у нас есть большой объем данных, теоретически бесконечный источник данных, [тогда] глубокое обучение в точности эквивалентно человеческому».

Все начинается так же, как вы начинаете в детстве: медленно изучаете множество данных и собираете их вместе, чтобы построить мир вокруг вас.

«Если мы накормим его большим количеством данных, сеть, в идеале, сможет научиться создавать истории, классифицировать по разным предметам, по разным категориям», - объясняет Торфи. «Итак, по сути, глубокое обучение - это обучение с помощью нейронной сети. Это просто углубленная архитектура с множеством уровней ... просто добавьте данные, и это будет глубокое обучение. Так просто."

Конечно, казнь не так проста, как объяснение. Исследования Torfi сосредоточены на разработке кода, чтобы научить системы сопоставлять аудио- и видеоканалы и учиться на них.

« Проект заключался в том, что [если] у вас есть видеопоток и аудиопоток, можете ли вы сказать, есть ли у них один и тот же автор или нет», - говорит Торфи. Если у моего видео задержка на 0,5 секунды по сравнению со звуком, можем ли мы это распознать или нет?

Другие проекты Торфи были похожи с точки зрения кода, с различными приложениями, включая обучающие системы, как слышать нескольких говорящих и работу с программным обеспечением дрона для распознавания изображения с разных углов. Конечно, сложный код - достаточно, чтобы Торфи понял, что если он хочет поделиться своей работой, он должен сделать все визуально.

«Я понял, что если бы кто-нибудь захотел увидеть этот документ, им было бы намного легче понять, если бы они могли реализовать код», - говорит Торфи. «Люди хороши в визуальных вещах».

Но надлежащая документация во многих случаях отошла на второй план, чтобы продемонстрировать сложный код, что для Torfi ограничивает истинную доступность и долговечность работы - даже для программиста, который ее пишет.

Он обнаружил, что ключевыми факторами являются демонстрации и исчерпывающая документация.

«В первый раз, когда я выпустил код на GitHub без какой-либо демонстрации, он получил, наверное, одну звезду через месяц», - говорит Торфи. Но после добавления демо? «Мой репозиторий стал самым популярным репозиторием дня. Единственное, что изменилось, - это демо! »

В области информатики совместное использование кода кажется естественным. Но надлежащая документация во многих случаях отошла на второй план, чтобы продемонстрировать сложный код, что для Torfi ограничивает истинную доступность и долговечность работы - даже для программиста, который ее пишет.

«Когда я делаю подробную документацию, то в любое время в будущем, когда я вернусь к своему коду, я могу легко понять, что происходило, что я могу воспроизвести, что я могу использовать снова», - говорит Торфи. «Недавно я создал для себя протоколы для документирования… одностраничного списка, чтобы сделать проект открытым. Поэтому я просто отмечаю каждый из них: я проводил автоматическое тестирование или нет? Делал ли я взносы частично или нет? Внес исправления или нет? Делал я демо или нет? »

«Обмен - это требование», - сухо заявляет Торфи. «Все, чем не делятся, когда-нибудь забывается».

Скромный ученый, Торфи старается подчеркнуть, что многие программисты, чей код он видит на сайтах вроде GitHub, лучше его (хотя он был рад, что Git-Awards включил его в число 100 лучших разработчиков Python в мире). Соединенные Штаты). По словам Торфи, его кодекс отличается от остальных его добросовестным усердием и страстью к объяснению своей работы.

«Когда я создаю документ, я делаю это не только для себя - поэтому я становлюсь более мотивированным в его создании. Когда кто-нибудь увидит мою документацию, если она будет хорошей, они могут получить для меня благословение », - добавляет он, смеясь.

Поэтому неудивительно, что на вопрос, что ему больше всего нравится в работе, Торфи без колебаний отвечает: документация.

Он подчеркивает, что это больше, чем просто «хвастаться». Создание кода с открытым исходным кодом и легко воспроизводимым, безусловно, помогает молодым ученым получать рабочие места и гранты, а совместное использование обогащает сообщество в целом, добавляя к отрасли, так что новые исследователи могут поглощать и расти в свою очередь. Это заставляет программиста постоянно уточнять, меняться и учиться.

«Обмен - это требование», - сухо заявляет Торфи. «Все, чем не делятся, когда-нибудь забывается».

Первоначально опубликовано на codeocean.com.