The Question. Будущее | страница 35
Все больше аналитики будет доверено различным системам машинного обучения, в том числе и нейросетям. Также сейчас активно развивается направление обработки естественного языка, что должно привести к совершенствованию различных диалоговых систем (от ботов-консультантов на различных сайтах до Cortana и Siri).
А серьезных изменений в жизни мы, вероятнее всего, не заметим. Во всяком случае, за такой короткий срок.
Как создать свою собственную нейросеть?
Павел Гаврилов
специалист по программированию, машинному обучению, анализу данных, статистике, теории вероятностей
Правильная постановка вопроса должна быть такой: как натренировать свою собственную нейросеть? Писать сеть самому не нужно, нужно взять какую-то из готовых реализаций, которых есть множество, предыдущие авторы давали ссылки. Но сама по себе эта реализация подобна компьютеру, в который не закачали никаких программ. Для того чтобы сеть решала вашу задачу, ее нужно научить.
И тут возникает, собственно, самое важное, что вам для этого потребуется, – данные. Много примеров задач, которые будут подаваться на вход нейросети, и правильные ответы на эти задачи. Нейросеть будет на этом учиться самостоятельно давать эти правильные ответы.
И вот тут возникает куча деталей и нюансов, которые нужно знать и понимать, чтобы это все имело шанс дать приемлемый результат. Осветить их все здесь нереально, поэтому просто перечислю некоторые пункты. Во-первых, объем данных. Это очень важный момент. Крупные компании, деятельность которых связана с машинным обучением, обычно содержат специальные отделы и штат сотрудников, занимающихся только сбором и обработкой данных для обучения нейросетей. Нередко данные приходится покупать, и вся эта деятельность выливается в заметную статью расходов. Во-вторых, представление данных. Если каждый объект в вашей задаче представлен относительно небольшим числом числовых параметров, то есть шанс, что их можно прямо в таком сыром виде дать нейросети и получить приемлемый результат на выходе. Но если объекты сложные (картинки, звук, объекты переменной размерности), то, скорее всего, придется потратить время и силы на выделение из них содержательных для решаемой задачи признаков. Одно только это может занять очень много времени и иметь гораздо большее влияние на итоговый результат, чем даже вид и архитектура выбранной для использования нейросети.
Нередки случаи, когда реальные данные оказываются слишком сырыми и непригодными для использования без предварительной обработки: содержат пропуски, шумы, противоречия и ошибки.