Что продаёт топовое высшее учебное заведение типа Стэнфорда? Знания? Их можно получить почти бесплатно: тонна ресурсов есть в сети, и книжки, даже если они сами по себе дорогие, не сравнятся с десятками тысяч долларов в год за вшивого стэнфордского или берклёвого бакалавра.
Стэнфорд за эти тонны бабла продаёт довольно важную для людей с активной жизненной позицией вещь: человеческие контакты. Причём, не только и не столько с преподавателями. Например, с однокурсниками или соседями по дорму можно организовать стартапы (HP, Google, Facebook). Ещё важная вещь, которая остаётся с отучившимся в таком заведении человеком — это база алюмников, знакомых и незнакомых (см. напр. http://karial.livejournal.com/?tag=mba
Кроме того, формальное образование "предоставляет" ещё такие мелочи как дедлайны (два года не могу начать читать книжку, которая у меня перед носом) и аспект соревновательности, но это не является какой-то уникальной вещью для крутых вузов, это везде есть.
Что же нужно Стенфорду от окружающего мира? В основном, две вещи: бабло и умные студенты. Или какая-то комбинация из них. Бабло самоценно. Умные же студенты нужны для того, чтобы продолжать поддерживать реноме вуза и продолжать получать бабло.
Поэтому и MIT, и Стэнфорд, по сути, могут вообще все материалы свои выложить, и курсы, и домашки, и автоматический грейдинг. Сокрытие этих материалов от публики за стенами вуза не представляет ценности для Стэнфорда. Поэтому самообразовывайся, что называется, до посинения.
Но с одним условием — если везде в курсах будет постоянно проводиться мысль, что Стэнфорд — это совсем фан и очень круто, и именно туда нужно будет при случае занести бешеные деньги за дневное обучение. Я не занесу, так какой-нибудь второкурсник из МФТИ сделает очередной курс, бросит всё и переведётся в Стэнфорд. А деньги возьмёт в виде гранта где-то, это не его (стэнфорда; студента) проблема.
Стэнфорд довольно давно (MIT Open CourseWare существует много лет) хотел выложить в паблик какие-то свои курсы. Суть ясна — сделать так, чтобы достучаться до многих тысяч потенциальных будущих студентов. Повторюсь, что сам материал ценности не представляет; ценность для стенфорда представляют студенты (и бабло).
Теперь немножко спекуляций. Я не знаю, как обстояли дела на самом деле, и глубоко вопрос не исследовал, но картинка мне представляется примерно следующей. Знаете больше — поправьте.
<спекуляции>Стартап http://www.knowit.com/ фактически форсировал Стэнфорд, чтобы наконец-то что-то сделать. Пилотом для know it стал Artificial Intelligence Class. Похоже, именно их технология там и стоит. И поэтому сервера их валилась постоянно, постоянно передвигались дедлайны, постоянно какие-то были ляпы с заданиями. И задания сами были тяп-ляп. Очень неровные. Где-то по формуле нужно было три числа поделить друг на друга, а где-то — рассчитать сетку байесовскую.
Увидев эту бешеную активность стартапа know it в начальной стадии, Стэнфорд решил завязать с этим экспериментом, и остальные курсы делать самостоятельно. Этим я объясняю даже разницу в логотипах:
Вот AI Class:
Вот Machine Learning Class и DB Class:
Разница между "In partnership with Stanford Engineering" и "Stanford Engineering" очевидна.
</спекуляции>Не знаю, что было в DB Class. В ML Class было всё чётко. Стабильные сервера. Рандомизированные (в отличие от #aiclass) квизы. Домашние задания в Octave (аналог Matlab). Задания и материалы для домашек прилично и со вниманием к мелочам оформлены в LaTeX (кто ещё не уловил связь — Стэнфорд родил Кнута, а Кнут родил ТеХ).
Ну и даже лектор. Andrew Ng (#mlclass) — это лекторный светоч. Такого лектора можно пожелать каждому. Вот он пишет: «A ≃ B», и обязательно подчеркнёт, обведёт значок «≃», и объяснит, что такая волнистая линия — это "approximately equal". И так во всём. Да, иногда приходилось скучать, но зато некоторые находят в этом кайф, потому что можно заодно английский подучить, благо один и тот же значок по два-три раза в разных контекстах товарищ Ng упомянет и опишет. Опять же, можно видео смотреть на полуторной скорости, если успеваешь, и в любой момент переключаться на медленную, если начинается менее знакомый материал.
Кроме того, товарищ Ng из #mlclass рисовал не ручкой на бумаге, как в #aiclass (что само по себе неплохо), а на каком-то пэде, который позволял ему одной кнопкой стирать написанное, цвет менять (он на одной картинке мог использовать три-четыре цвета, чтобы показать потоки данных). И вообще, рисуя поверх PDF-презентации, а не по бумаге, картинка получается гораздо веселее.

По сравнению с этим та порнография, которая имела место быть в #aiclass, лучше чем бетой назвать сложно. Where do I begin? Например, ошибки в заданиях. Их можно условно разделить на две части. Ошибки в формулировке и ошибки в том, как они сами посчитали ответ (и ни у кого с их ответом не сходится). Со вторым всё понятно. С первым же — это жесть, это главная причина моего неудовольствия курсом. Формулировки расходились с общепринятыми (например, определение kinematic states, dynamic states нужно было использовать из "как в лекциях", иначе ничего не получалось). Формулы не соответствовали тем, которые википедия считает правильными. Вопросы были то на арифметику, то на какие-то тонкости формулировок, которые нафиг никому не сдались. «Джон и его отец вышли посмотреть на звезды. Джон видит две голубые звезды и красную звезду. Его отец видит зеленую звезду и две желтые звезды. Какова суммарная температура звезд, которые видят Джон и его отец?» (© Фейнман)
Если в #mlclass можно выяснить то, понял ли ты формулировку, просто попробовав сделать домашнее задание и прогнав его через верификатор, то в #aiclass верификация результатов была разнесена по времени от выполнения. Я несколько раз неуверенно вводил какой-то ответ с чётким желанием разобраться, что же там должно было получиться. Но через пару дней, после публикации результатов, смотрел на позитивный результат, и даже вспомнить не мог, в чём у меня были затруднения. Nor did I care anymore. В смысле, фидбэк приходит слишком поздно, и у меня не было такой самодисциплины, чтобы все затруднения записывать и после теста полировать их вновь и вновь.
Что осталось после курсов?
После #mlclass у меня осталась куча зачекиненных в приватный git домашек (некоторые на гитхаб прямо выложили), PDF'ок с заданиями. По ним в любой момент смогу восстановить какие-то детали.
После #aiclass остались несколько интересных вещей в голове, но ничего на диске. Поэтому если что-то забудется, то уже всё, с концами.
Вернусь на мгновение к вопросу о том, как товарищи лекторы продвигали Стэнфорд на этих курсах.
— Давайте представим, что у нас есть марковская цепь, но мы про текущее состояние наше в ней не знаем. Нам нужно посчитать вероятность того, что мы находимся в определённом состоянии этого графа, путём наблюдения за тем, улыбаюсь ли я или нет. Вероятность улыбки при солнце мы положем в 0.9; вероятность улыбки при дожде положим в 0.4. Это не так уж далеко от истины. Я люблю жить в Силиконовой долине, мне нравится хорошая погода здесь, и поэтому я часто улыбаюсь. (Это не точная цитата, но дух должен быть понятен --lionet)
— Тут вот я картинку вертолёта вам показываю. Упс, она не так должна быть (переворачивает вертолёт вверх ногами). Вот как. Тут наш стенфордский кореш Andrew Ng заставил вертолёт летать вверх ногами с помощью ML (http://www.youtube.com/watch?v=0JL04JJ
— Все были очень горды, когда наша команда от Стенфорда выиграла конкурс по автоматическому драйвингу.
Ну и так далее. Если бы они упомянули стэнфорд на пару раз больше, я бы сказал, что реклама стэнфорда в этих курсах была надоедливая. А так — нормально. Задачу свою выполнили.
Применение
Как можно применить курсы #ML какому-нибудь провинциальному программисту, не имеющему доступу не то что к тушке машины, чтобы её научить водить, но даже к радиоуправляемому вертолёту? Опишу одну из надоедливых наших проблем, над которыми мы занимаемся в Echo.
Куча людей делает посты комментарии в соцсетях. Эти комментарии хотят выкладывать на свои страницы медиа-гиганты, такие как Washington Post, WWE (http://www.wwe.com/social). Но их не устраивает, что комментарии будут приходить с матом или с расистскими высказываниями, или с иного рода "hate speech". Кроме того, есть такая банальнейшая вещь, как спам (непрошенная реклама: комментарии со ссылками на сайты не по теме).
Спамом в комментариях занимается, в частности, Akismet. Но они ранжируют спам по, фактически, одной оси: спамности. Если ты хочешь отфильтровать hate speech, их система для этого не очень заточена.
Новые системы, которые возникают на этом поле, чуть менее примитивны. Они ранжируют тексты по нескольким осям:
— hate speech
— racism
— sexism
— spam
— и т. д.
Естественно, в центре подобных систем стоит машинное обучение.
Одной из таких систем, в частности, была Джулия. Пара умных ребят за год набросала примерное содержание половины курса #mlclass, и продалась компании Huffington Post за несколько миллионов долларов
http://inventorspot.com/articles/huffpo
Я достаточно глубоко знаю технологию Джулии, потому что оценивал её для Echo. Под NDA, поэтому не могу рассказать детали. Но знаю, что там не рокет сайенс, и у меня есть все основания утверждать, что можно сделать существенно лучше.
Другая компания подобного рода, основанная выходцами из Yahoo!, чуть более серьёзная. http://www.impermium.com/ Но и у них тоже не рокет сайенс.
Так вот, что я хочу сказать. Мы сейчас в Echo платим десятки тысяч долларов в год за то, чтобы использовать подобные сервисы. Мы посылаем им комментарии, а нам возвращается метрика того, насколько комментарий плох (возможно, по нескольким осям). В пределе мы бы просто могли купить компанию, которая занимается этой проблемной областью. Чем не technology/market fit? Чем не возможность для какого-нибудь упорного программиста из произвольного места россии?
Другой областью, которая находится в зачаточном состоянии, является anomaly detection на графиках. Даны какие-то графики. Они соответствуют измеряемым величинам. Графики постоянно пополняются и "ползут". Надо уметь детектировать проблемы: запомнить "нормальное состояние" и бить в набат, когда нормальное состояние начинает становиться ненормальным до того, как случится тотальный отказ в обслуживании. Часто этим занимаются живые люди: сидят и смотрят в графики. Иногда народ использует Nagios для алёртов, в том числе на пейджер. Но вообще это должна быть автоматически обучающаяся система, а не то, что сейчас можно найти. Автоматические системы такого рода есть, но рынок явно ещё не окучен полностью.
В общем, не буду задерживать больше ваше внимание. Оно ещё вам пригодится. Стэнфорд выкатил ещё кучу курсов, среди которых меня наиболее привлекают PGM, NLP, GT, SaaS, DAA, CS, и все остальные. Про работу только не забудьте, не берите больше одного-двух курсов за раз, но лучше в advanced track: в голове больше останется.


December 23 2011, 09:33:01 UTC 5 months ago
У меня от ML класса в голове тоже осталось гораздо больше чем от AI...
December 23 2011, 09:37:34 UTC 5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
December 23 2011, 09:33:28 UTC 5 months ago
December 23 2011, 09:36:32 UTC 5 months ago
На два курса, соответственно, 6-12 часов в неделю.
December 23 2011, 09:41:47 UTC 5 months ago
-не соглашусь, что AI был хуже. Это просто разные вещи принципиально. AI преподавался как достаточно абстрактная дисциплина, ML — как голая прикладная область. Это было достаточно сильно заметно хотя бы по количеству математики в обеих курсах (хотя я, всё-таки, считаю, что в обеих курсах её было слишком мало) и риторике преподавателей («теперь вы знаете в 2 раза больше стандартного силикон веллей погромиста» vs «мы тут 3 недели излагали теоретические основы particle filters, но вообще алгоритм пишется в 10 строк»). Ты, видимо, сугубо практик, поэтому AI понравился тебе меньше. Тем не менее, в курсе AI была и пара сугубо практических и очень полезных фишек — в первую очередь particle filters (во вторую, имхо, MDP).
-AI смазывался Норвигом, который умудрялся делать фантастические по странности квизы. Все лекции Труна, имхо, были хороши.
-есть вопрос, на который хотелось бы услышать твой комментарий. Где пролегает, по-твоему, граница *достаточного* скилла? Я сейчас смотрю в книги и понимаю, что то, что было рассказано на обоих этих курсах — очень, очень малая часть области. Никакой математики практически. В то же самое время этого, в общем-то, как ты и сказал, достаточно для многих применений. Возникает дилемма: инвестировать время в дальнейшее изучение области? В попытку наваять что-то на основе того, что уже знаешь, и рекламировать это везде, куда дотянутся руки, выбивая инвестиции умными словами без глубокой основы?
December 23 2011, 09:56:11 UTC 5 months ago
— Трун тоже не сахар; я же не Труна в вакууме имею ввиду, а сравниваю с Ng. Так вот, Трун далеко не сахар. Хотя и получше Норвига.
— Вкратце: бизнесы (и стартапы) делаются не на том, до чего (в данный момент) дотянулась наука, а на том, до чего (в данный момент) не могут дотянуться конечные клиенты. Сделаешь так, чтобы клиенты получили то, чего они до сих пор не получали — все бабки твои. Это на самом деле препятствует использованию совсем уж крутых и новых технологий (как фейсбук в 95 году) — не было ключевой массы сопутствующих технологий (digital cameras! cell phones with 3g! critical mass of online users!). Не было спроса на качественное общение, сформированного всякими онлайн-форумами (не было веб-форумов тогда). Поэтому http://en.wikipedia.org/wiki/Classm
Поэтому если знаешь, как на основе того, что ты знаешь сейчас, удовлетворить клиентов — строй прямо сейчас. Некоторые зарабатывают неплохие бабки на том, что ругаются матом и вебсайты делают.
5 months ago
5 months ago
December 23 2011, 09:54:29 UTC 5 months ago
После прохождения экватора DB стал более приоритетным, на полный ML времени не хватило.
DB Class сделан намного качественнее. Почти для каждой серии exercises собрана отдельная лаборатория (система сервер-клиент со своей внутренней бизнес-логикой), больше упражнений, видно - что курс продуман и выпилен. Намного лучше организован Feedback: каждую неделю видео о происходящем, советы, статистика, типичные ошибки.
December 23 2011, 09:57:03 UTC 5 months ago
Мне показалось, что AI был, скорее, хитрой HR-акцией, отфильтровавшей из десятков или сотен тысяч человек порядка тысячи (по их собственным данным) стопроцентников, которых можно порекомендовать кандидатами в Google/Yahoo/whatever как потенциально крутых спецов. Даже если из этой тысячи резюме пришлет всего половина, а из этой половины всего половина окажется профпригодной – все равно "курс" можно посчитать удавшимся.
А от новых курсов начинаются паника и баттхерт, потому что нравится почти все, а успеть сделать в рамках одного семестра нереально даже половину.
December 23 2011, 10:00:31 UTC 5 months ago
5 months ago
5 months ago
5 months ago
3 months ago
4 months ago
5 months ago
5 months ago
5 months ago
5 months ago
December 23 2011, 10:13:36 UTC 5 months ago
Что было очень круто в AI - это обилие примеров реального применения его на практике и office hours.
December 24 2011, 14:57:55 UTC 5 months ago
December 23 2011, 10:20:39 UTC 5 months ago
December 23 2011, 11:06:49 UTC 5 months ago
December 23 2011, 11:03:19 UTC 5 months ago
Можно, конечно. Можно и самому на коньках кататься, но с тренером быстрее и вероятность выше. А если вложил денег много, то еще выше. Помимо всего вышесказанного(с чем я согласна), Стэнфорд говорит - у нас классные тренеры. Хотите себе такого? Это стоит столько-то.
>>Как можно применить курсы #ML какому-нибудь провинциальному программисту, не имеющему доступу не то что к тушке машины, чтобы её научить водить, но даже к радиоуправляемому вертолёту?
Да любая экспертная система на любом наборе данных, коих уже насобирали достаточно и теперь размышляют, а что с ней делать и куда девать. Письма - не только спам, например, предварительная сортировка поступившей корреспонденции.
December 23 2011, 11:12:13 UTC 5 months ago
"любую экспертную систему" не продашь, нужна конкретика. А что-то типа Julia можно на чистом энтузиазме и 20 баксах в месяц (на хостинг) раскрутить, потом минимум за несколько сот тысяч долларов продать.
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
December 23 2011, 11:12:00 UTC 5 months ago
В общем я со всем согласен. AI quizzes and homeworks were very frustrating.
December 23 2011, 12:02:32 UTC 5 months ago
http://robots.stanford.edu/cs221/schedu
Я делал только первое из них, в нем неплохо раскладываются все типы поисков (и твой любимый A*). И если проходить этот курс целиком, вместе с программированием, то, уверен, все получается намного лучше, чем мы это видим.
December 23 2011, 12:03:30 UTC 5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
December 23 2011, 13:31:11 UTC 5 months ago
А отправь им этот свой пост на английском, могут что-то учесть. Мои друзья написали восторженные в целом отзывы, по моему критики не хватает.
December 23 2011, 15:21:20 UTC 5 months ago
December 23 2011, 15:38:42 UTC 5 months ago
Насчёт партнёрства и спекуляций - как мне кажется, причина в описанных различиях могла быть ещё и в огромной занятости Себастьяна и Питера, кои трудятся в Гугле на ооочень высоких должностях. Всётки продумать курс на уровне как это сделал Эндрю - это надо адово много времени вложить, они могли просто не успевать. А у Эндрю эта технология уже давно обкатана, я находил его другие курсы для внутреннего пользования (тоже на очень высоком уровне сделаны)
December 23 2011, 17:28:24 UTC 5 months ago
обзорный, нацеленный чтобы заинтересовать, а значит и
неформальный. Т.е. если онкампус эта нечеткость не сильно мешает
(всегда можно спросить препа), онлайн ее не прощает. Надо было им
дополнительно под шлифовать конечно.
Насчет сразу проверить аля ml/db тогда ранкинга не будет - слишком
легко 100% выбить. В db разве что на экзаменах можно было сплоховать.
Википедия кстати не уверен что авторитет.) Особенно если речь идет о
каких-то тонкостях. В AIMA по идее надо было смотреть (если есть там).
В итоге имхо db лучший: и качество как в ml + с Уидом как с Энгом
скучно не бывает, все очень четко и быстро.
December 23 2011, 18:25:37 UTC 5 months ago
Даже я в свое время (2000-2003) начинал делать систему управления текстовыми ресурсами на базе инструментов нечеткой логики. Сначала как диплом, потом как кандидатскую у Ярушкиной. До сих пор стыдно, что так и бросил, хотя было написано 3/4 диссертации и почти половина кода. Надо было "сменить коней на переправе" - поменять тему на что-то связанное с анализом трафика. Глядишь, доделал бы и защитился. Ну да и ладно, впрочем.
Так что, работы такого уровня, как ты описал, могут прототипировать даже студенты в виде дипломной работы. А аспиранты в кандидатской диссертации уже могут делать вполне рабочие варианты. Вопрос в том, почему этого не происходит?
December 23 2011, 20:28:54 UTC 5 months ago
Может и выйдет пара интересных дипломных/кандидатских работ.
December 23 2011, 21:40:02 UTC 5 months ago
MIT собирается начать делать аналогичные Стенфордским курсы.
И у них на сайте я прочитал, что деньги они будут брать за последующую оффлайн аттестацию. То есть учитесь сколько хотите по нашим курсам онлайн, но если нужен сертификат, то приходите и платите за аттестацию.
Возможно, Стэнфорд тоже будет использовать такой способ монетизации.
Я проходил AI, ML, DB.
Andrew Ng. - действительно гениальный преподаватель. Очень доходчиво объясняет. Старается любой момент с нескольких сторон объяснить, чтобы никаких недопониманий не осталось.
December 24 2011, 20:57:13 UTC 5 months ago
Точнее, какое-то время я жрал кактус и терпел, но после бага в A* - забросил.
February 9 2012, 15:58:17 UTC 3 months ago
Записывался на все три :) Но времени не хватило.
Теперь планирую выбрать один, скорее всего NLP, чтобы точно закончить.