Привет, меня зовут Алексей!
За 15+ лет программирования я понял, что меня больше всего вдохновляет не просто создание работающих решений, а желание разобраться и понять, как работают технологии, которые лежат в их основе.
Программирование для меня — это возможность глубже разобраться в принципах работы технологий, будь то JavaScript, Python, или что-то фундаментальное вроде устройства процессора.
Это мой блог, в котором я делюсь своими мыслями о программировании, веб-разработке и современных технологиях, которые меня вдохновляют.
Здесь ты найдешь практические советы, обсуждение фундаментальных идей, лежащих в основе технологий, и размышления о текущих трендах.
Если тебе интересно не просто пользоваться технологиями, но и понимать, что скрывается за их основами, подписывайся — впереди много нового и интересного!
За 15+ лет программирования я понял, что меня больше всего вдохновляет не просто создание работающих решений, а желание разобраться и понять, как работают технологии, которые лежат в их основе.
Программирование для меня — это возможность глубже разобраться в принципах работы технологий, будь то JavaScript, Python, или что-то фундаментальное вроде устройства процессора.
Это мой блог, в котором я делюсь своими мыслями о программировании, веб-разработке и современных технологиях, которые меня вдохновляют.
Здесь ты найдешь практические советы, обсуждение фундаментальных идей, лежащих в основе технологий, и размышления о текущих трендах.
Если тебе интересно не просто пользоваться технологиями, но и понимать, что скрывается за их основами, подписывайся — впереди много нового и интересного!
❤5
Зачем использовать конструктор сайтов даже если ты опытный разработчик
#веб #разработка #frontend #tilda #nocode
Последний год я занимаюсь разработкой и продвижением своего продукта. Из-за нехватки ресурсов для создания сайта я решил использовать конструктор вместо того, чтобы писать свой сайт с нуля — несмотря на то, что у меня есть опыт и возможность это сделать.
Есть множество конструкторов сайтов, самые популярные из китовых: Webflow, Wix, Squarespace и… Tilda. Мой выбор пал на последний в частности из-за двух аспектов: цена и простота пользования. Мнение, естественно, субъективное, но если говорить честно, то у меня просто не было времени и желания тщательно оценивать все опции.
Для меня важно было с минимальными усилиями собрать красивый лендинг.
В этом основная суть конструкторов — в них есть готовые блоки, которые подчиняются единой дизайн системе.
Хорошо, я собрал сайт… а потом оказалось, что там есть блок T123. Это такая штука, в которую можно вставлять любой HTML, CSS и JavaScript код! 🤩
И здесь проснулся во мне маленький экспериментатор, который давным-давно в начале своего пути делал то же самое, редактируя сайты на ucoz! Блок T123 — это один в один редактор кода в ucoz!
Интересно, как такая достаточно банальная функция, как добавление своего кода на готовую платформу позволяет увеличить гибкость конструктора в разы. Это как раз тот случай, когда заявление сервиса о «бесконечных возможностях» — чистая правда.
Ведь с помощью своего кода можно менять не только визуальную составляющую сайта, а также разрабатывать сложные интеграции с существующим функционалом платформы.
Здесь нужно отдать команде Tilda должное за то, что они по сути предоставляют публичный API к своему функционалу на фронтенде.
Да, это не документировано, не соответствует текущим трендам разработки и может в любой момент сломаться. Но какой простор для творчества это дает!
По сути в вашем распоряжении находится одновременно и CMS, и CRM, и целый набор готовых интеграций (платежи, рассылки, сервисы доставки). И все это вы можете кастомизировать на фронтенде практически как угодно. А самое главное — это экономит время и ресурсы на разработку, потому что вам легче найти разработчика на поддержку сайта, поскольку это известная платформа с уже сформированным рынком вокруг нее.
Для кого-то Tilda сейчас дает возможность войти в сферу веб-разработки точно также как мне дал эту возможность ucoz в свое время.
Круто, что такие инструменты оказываются полезными не только новичкам, но и профессионалам в данной области.
#веб #разработка #frontend #tilda #nocode
Последний год я занимаюсь разработкой и продвижением своего продукта. Из-за нехватки ресурсов для создания сайта я решил использовать конструктор вместо того, чтобы писать свой сайт с нуля — несмотря на то, что у меня есть опыт и возможность это сделать.
Есть множество конструкторов сайтов, самые популярные из китовых: Webflow, Wix, Squarespace и… Tilda. Мой выбор пал на последний в частности из-за двух аспектов: цена и простота пользования. Мнение, естественно, субъективное, но если говорить честно, то у меня просто не было времени и желания тщательно оценивать все опции.
Для меня важно было с минимальными усилиями собрать красивый лендинг.
В этом основная суть конструкторов — в них есть готовые блоки, которые подчиняются единой дизайн системе.
Хорошо, я собрал сайт… а потом оказалось, что там есть блок T123. Это такая штука, в которую можно вставлять любой HTML, CSS и JavaScript код! 🤩
И здесь проснулся во мне маленький экспериментатор, который давным-давно в начале своего пути делал то же самое, редактируя сайты на ucoz! Блок T123 — это один в один редактор кода в ucoz!
Интересно, как такая достаточно банальная функция, как добавление своего кода на готовую платформу позволяет увеличить гибкость конструктора в разы. Это как раз тот случай, когда заявление сервиса о «бесконечных возможностях» — чистая правда.
Ведь с помощью своего кода можно менять не только визуальную составляющую сайта, а также разрабатывать сложные интеграции с существующим функционалом платформы.
Здесь нужно отдать команде Tilda должное за то, что они по сути предоставляют публичный API к своему функционалу на фронтенде.
Да, это не документировано, не соответствует текущим трендам разработки и может в любой момент сломаться. Но какой простор для творчества это дает!
По сути в вашем распоряжении находится одновременно и CMS, и CRM, и целый набор готовых интеграций (платежи, рассылки, сервисы доставки). И все это вы можете кастомизировать на фронтенде практически как угодно. А самое главное — это экономит время и ресурсы на разработку, потому что вам легче найти разработчика на поддержку сайта, поскольку это известная платформа с уже сформированным рынком вокруг нее.
Для кого-то Tilda сейчас дает возможность войти в сферу веб-разработки точно также как мне дал эту возможность ucoz в свое время.
Круто, что такие инструменты оказываются полезными не только новичкам, но и профессионалам в данной области.
🔥1
Что такое интеллект и почему он искусственный
#ai #ml #artificialintelligence #machinelearning #openai #chatgpt
Сегодня 1 октября, а это значит, что лучшего времени написать про ChatGPT o1 придумать сложно. Однако, чтобы понять, почему очередной релиз от OpenAI действительно важен, я бы хотел сделать краткий экскурс в историю и в текущее положение дел в области искусственного интеллекта (AI / artificiial intelligence).
Человеческий интеллект
Но что такое интеллект в целом?
Этот вопрос тоже не такой однозначный, но можно взять определение из психологии, которое помимо прочего определяет интеллект как:
1. Адаптация к новым ситуациям
2. Способность к обучению на основе опыта
3. Использование знаний для управления средой
— Encyclopedia Britannica
Получается, что если есть компьютер или программа, которая может адаптироваться к новым ситуациям, обучаться на них и использовать эти данные в будущем, то это уже можно назвать:
Искусственный интеллект
Примерно так и описал искусственный интеллект в своей работе «Вычислительные машины и разум» Алан Тьюринг в 1950 году. В ней он заменяет слово «думать» применительно к компьютеру на способность компьютера совершать те же действия, что может совершать человек (например, писать текст или управлять чем-либо).
В этом основная суть теста Тьюринга. В нем экзаменатору, который получает два текстовых сообщения, необходимо определить какое из сообщений было написано человеком, а какое — машиной.
У данного теста есть всего лишь один недостаток: он четко не формализован, поэтому его невозможно «пройти» с научной точки зрения. Однако, совершенно ясно, что с момента появления ChatGPT данный тест в его изначальной формулировке потерял актуальность.
Причем здесь ChatGPT
ChatGPT использует в своей основе большую языковую модель (LLM / large language model), которая на вход и выход получает текст.
Всплеск интереса к ChatGPT случился после выпуска модели версии 3.5, которая очень круто сочиняла текст, но не справлялась с более сложными рассуждениями, где требовалась логика.
Пока OpenAI работали над новой версией модели, исследователи изучали поведение уже доступной. На удивление оказалось, что модель может вести себя «более умно» без дополнительного обучения. Достаточно напомнить модели о том, что она может порассуждать.
Так появился подход цепочки мыслей (CoT / chain of thought)
Идея данного подхода в том, что при подаче на вход запроса, вместе с ним добавляется предложение вроде «Давай подумаем над этим шаг за шагом». В результате это заставляет модель генерировать более длинный текст, в котором она сама получает для себя ответ.
Например:
Запрос:
Ответ:
С применением CoT:
Запрос:
Ответ:
Вот такие чудеса. Здесь важно то, что данный ответ получен от одной и той же модели без каких либо модификаций или дополнительной тренировки.
В чем суть ChatGPT o1
Основная идея новой модели o1 в том, что ее не нужно заставлять «думать» — она это делает сама. Конечно, внутри это устроено сложнее, чем пример выше, но общий принцип такой же. Рассуждение по шагам значительно увеличивает качество ответа модели, однако это становится заметно только на сложных запросах.
Например, это очень хорошо заметно если нужен «аналитический» ум, когда задачу можно расписать по шагам, как например в программировании, математике или других науках.
Поэтому я бы рассматривал o1 как альтернативу, а не замену текущим моделям. В настоящий момент лично я использую ее только для задач, где нужен глубокий анализ и точность, такие как программирование.
#ai #ml #artificialintelligence #machinelearning #openai #chatgpt
Сегодня 1 октября, а это значит, что лучшего времени написать про ChatGPT o1 придумать сложно. Однако, чтобы понять, почему очередной релиз от OpenAI действительно важен, я бы хотел сделать краткий экскурс в историю и в текущее положение дел в области искусственного интеллекта (AI / artificiial intelligence).
Человеческий интеллект
Но что такое интеллект в целом?
Этот вопрос тоже не такой однозначный, но можно взять определение из психологии, которое помимо прочего определяет интеллект как:
1. Адаптация к новым ситуациям
2. Способность к обучению на основе опыта
3. Использование знаний для управления средой
— Encyclopedia Britannica
Получается, что если есть компьютер или программа, которая может адаптироваться к новым ситуациям, обучаться на них и использовать эти данные в будущем, то это уже можно назвать:
Искусственный интеллект
Примерно так и описал искусственный интеллект в своей работе «Вычислительные машины и разум» Алан Тьюринг в 1950 году. В ней он заменяет слово «думать» применительно к компьютеру на способность компьютера совершать те же действия, что может совершать человек (например, писать текст или управлять чем-либо).
В этом основная суть теста Тьюринга. В нем экзаменатору, который получает два текстовых сообщения, необходимо определить какое из сообщений было написано человеком, а какое — машиной.
У данного теста есть всего лишь один недостаток: он четко не формализован, поэтому его невозможно «пройти» с научной точки зрения. Однако, совершенно ясно, что с момента появления ChatGPT данный тест в его изначальной формулировке потерял актуальность.
Причем здесь ChatGPT
ChatGPT использует в своей основе большую языковую модель (LLM / large language model), которая на вход и выход получает текст.
Всплеск интереса к ChatGPT случился после выпуска модели версии 3.5, которая очень круто сочиняла текст, но не справлялась с более сложными рассуждениями, где требовалась логика.
Пока OpenAI работали над новой версией модели, исследователи изучали поведение уже доступной. На удивление оказалось, что модель может вести себя «более умно» без дополнительного обучения. Достаточно напомнить модели о том, что она может порассуждать.
Так появился подход цепочки мыслей (CoT / chain of thought)
Идея данного подхода в том, что при подаче на вход запроса, вместе с ним добавляется предложение вроде «Давай подумаем над этим шаг за шагом». В результате это заставляет модель генерировать более длинный текст, в котором она сама получает для себя ответ.
Например:
Запрос:
Я пошел на рынок и купил 10 яблок. Я отдал 2 яблока соседу и 2 ремонтнику. Затем я пошел и купил еще 5 яблок и съел 1. Сколько яблок у меня осталось?
Ответ:
11 яблок
С применением CoT:
Запрос:
Я пошел на рынок и купил 10 яблок. Я отдал 2 яблока соседу и 2 ремонтнику. Затем я пошел и купил еще 5 яблок и съел 1. Сколько яблок у меня осталось? Давай подумаем шаг за шагом.
Ответ:
Сначала у вас было 10 яблок.
Вы отдали 2 яблока соседу и 2 ремонтнику, так что у вас осталось 6 яблок.
Затем вы купили еще 5 яблок, теперь у вас 11 яблок.
Наконец, вы съели 1 яблоко, так что у вас осталось 10 яблок.
Вот такие чудеса. Здесь важно то, что данный ответ получен от одной и той же модели без каких либо модификаций или дополнительной тренировки.
В чем суть ChatGPT o1
Основная идея новой модели o1 в том, что ее не нужно заставлять «думать» — она это делает сама. Конечно, внутри это устроено сложнее, чем пример выше, но общий принцип такой же. Рассуждение по шагам значительно увеличивает качество ответа модели, однако это становится заметно только на сложных запросах.
Например, это очень хорошо заметно если нужен «аналитический» ум, когда задачу можно расписать по шагам, как например в программировании, математике или других науках.
Поэтому я бы рассматривал o1 как альтернативу, а не замену текущим моделям. В настоящий момент лично я использую ее только для задач, где нужен глубокий анализ и точность, такие как программирование.
🆒2❤1
Опубликовал статью на vc.ru на тему плюсов и минусов no-code решений для интеграций между сервисами. Поделился в ней своими мыслями о текущем положении no-code инструментов и своим опытом, когда их функционала не хватает
Спойлер:поднимаю собственный сервер и пишу код
https://vc.ru/life/1555219-na-grani-no-code
Спойлер:
https://vc.ru/life/1555219-na-grani-no-code
vc.ru
На грани no-code: как я интегрирую сложные сервисы в конструкторы сайтов на примере Tilda — Личный опыт на vc.ru
Алексей Личный опыт 10 окт
Как выбирать цвета для темной и светлой темы так, чтобы на них было комфортно смотреть
#графика #цвет #дизайн #интерфейс #ui #ux
Сегодня хочу рассказать про другую область, которая меня интересует уже как минимум две трети жизни: графический дизайн и дизайн интерфейсов в частности.
Не буду делать долгий экскурс в историю про то, как я учился работать в фотошопе по журналу «Игромания», вместо этого расскажу о том, что меня интересует в настоящий момент в этой области — принципы создания гармоничного и доступного интерфейса.
И хотя основной вид моей деятельности — это программирование, но из-за того, что я работаю в сфере веб разработки, то мне часто приходится либо верстать готовый дизайн, либо придумывать свой.
Я никогда систематически не изучал принципы дизайна, однако у меня всегда интуитивно было понимание того, что дизайн поддается каким-то пусть даже и гибким, но правилам. Это особенно заметно в области дизайна интерфейсов приложений.
Есть типовые элементы, такие как кнопки, переключатели, списки, заголовки и т.д. Эти элементы позволяют создать иерархию на странице с помощью формы, параметров шрифтов и цветов.
Но возникают вопросы:
• Как выбрать ширину и высоту элемента?
• Какими должны быть размер и толщина шрифта?
• Какие цвета выбрать, чтобы они сочетались?
Допустим, с выбором размеров все более-менее понятно. Часто встречаются значения кегля шрифтов или размера кнопок, кратные 8: 16, 24, 32 и т.п. Это называется модульной сеткой и большинство дизайн систем используют одинаковый шаг (очень часто — 8 пикселей).
Работая с готовыми компонентами, которые были созданы дизайнерами сам невольно привыкаешь к таким правилам и начинаешь делать с учетом этой сетки.
Другое дело — цвет
С цветом всё настолько сложно, что есть даже отдельная область под названием колористика, которая изучает закономерности и особенности восприятия цвета.
На самом деле, при создании интерфейса программы приходится очень тщательно подбирать цвета в зависимости от их применения.
Пару лет назад, во время создания очередного прототипа, я решил воспользоваться руководством Apple Human Interface Guidelines для подбора цветов темной и светлой темы. Мне хотелось, чтобы мой прототип выглядел также как и оригинальные приложения Apple, такие как заметки, календарь и другие.
Для меня оказалось большим открытием то, что для каждого цвета у Apple есть как минимум 2 варианта для светлой и темной темы по отдельности.
При использовании этих цветов они идеально смотрятся как на белом, так и на черном фоне. Такие казалось бы незначительные на первый взгляд изменения в яркости цвета оказалось играют огромную роль при восприятии цвета.
WCAG и доступный дизайн
Рекомендации для доступного веб-контента (WCAG) помогают оценить то, насколько цвета сочетаются по контрасту. Считается, что контраст 3:1 является оптимальным для комфортного определения элементов интерфейса и их состояния (например, при наведении на кнопку).
Однако, стандарт WCAG достаточно старый и возможно такие рекомендации были актуальны для старых устройств. Сейчас у дисплеев контраст лучше, особенно у AMOLED-дисплеев. Лично на мой взгляд контрастность 2:1 уже выглядит хорошо.
Если проверить все цвета Apple для светлой темы, то выяснится, что контрастность WCAG для них как минимум 2.1 (за исключением желтого).
Для оценки цветов по контрастности есть очень классный инструмент — huetone. Поэтому я теперь вместо того, чтобы просто так перебирать цвета, сначала опираюсь на рассчитанные значения контрастности. Только после этого пытаюсь «дожать» цвет до желаемого, что, как оказалось, не всегда возможно физически из-за особенностей восприятия цвета.
Подводя итог, для себя я сделал следующий простой и очевидный в ретроспективе вывод:
на белом фоне цвета должны быть темнее, а на темном — ярче
На сколько темнее и на сколько ярче — это достаточно размытая граница и здесь действительно играет роль субъективное восприятие.
С помощью таких инструментов оценки контрастности как WCAG можно точно измерить контрастность на начальном этапе, а не прикидывать ее буквально «на глаз».
#графика #цвет #дизайн #интерфейс #ui #ux
Сегодня хочу рассказать про другую область, которая меня интересует уже как минимум две трети жизни: графический дизайн и дизайн интерфейсов в частности.
Не буду делать долгий экскурс в историю про то, как я учился работать в фотошопе по журналу «Игромания», вместо этого расскажу о том, что меня интересует в настоящий момент в этой области — принципы создания гармоничного и доступного интерфейса.
И хотя основной вид моей деятельности — это программирование, но из-за того, что я работаю в сфере веб разработки, то мне часто приходится либо верстать готовый дизайн, либо придумывать свой.
Я никогда систематически не изучал принципы дизайна, однако у меня всегда интуитивно было понимание того, что дизайн поддается каким-то пусть даже и гибким, но правилам. Это особенно заметно в области дизайна интерфейсов приложений.
Есть типовые элементы, такие как кнопки, переключатели, списки, заголовки и т.д. Эти элементы позволяют создать иерархию на странице с помощью формы, параметров шрифтов и цветов.
Но возникают вопросы:
• Как выбрать ширину и высоту элемента?
• Какими должны быть размер и толщина шрифта?
• Какие цвета выбрать, чтобы они сочетались?
Допустим, с выбором размеров все более-менее понятно. Часто встречаются значения кегля шрифтов или размера кнопок, кратные 8: 16, 24, 32 и т.п. Это называется модульной сеткой и большинство дизайн систем используют одинаковый шаг (очень часто — 8 пикселей).
Работая с готовыми компонентами, которые были созданы дизайнерами сам невольно привыкаешь к таким правилам и начинаешь делать с учетом этой сетки.
Другое дело — цвет
С цветом всё настолько сложно, что есть даже отдельная область под названием колористика, которая изучает закономерности и особенности восприятия цвета.
На самом деле, при создании интерфейса программы приходится очень тщательно подбирать цвета в зависимости от их применения.
Пару лет назад, во время создания очередного прототипа, я решил воспользоваться руководством Apple Human Interface Guidelines для подбора цветов темной и светлой темы. Мне хотелось, чтобы мой прототип выглядел также как и оригинальные приложения Apple, такие как заметки, календарь и другие.
Для меня оказалось большим открытием то, что для каждого цвета у Apple есть как минимум 2 варианта для светлой и темной темы по отдельности.
При использовании этих цветов они идеально смотрятся как на белом, так и на черном фоне. Такие казалось бы незначительные на первый взгляд изменения в яркости цвета оказалось играют огромную роль при восприятии цвета.
WCAG и доступный дизайн
Рекомендации для доступного веб-контента (WCAG) помогают оценить то, насколько цвета сочетаются по контрасту. Считается, что контраст 3:1 является оптимальным для комфортного определения элементов интерфейса и их состояния (например, при наведении на кнопку).
Однако, стандарт WCAG достаточно старый и возможно такие рекомендации были актуальны для старых устройств. Сейчас у дисплеев контраст лучше, особенно у AMOLED-дисплеев. Лично на мой взгляд контрастность 2:1 уже выглядит хорошо.
Если проверить все цвета Apple для светлой темы, то выяснится, что контрастность WCAG для них как минимум 2.1 (за исключением желтого).
Для оценки цветов по контрастности есть очень классный инструмент — huetone. Поэтому я теперь вместо того, чтобы просто так перебирать цвета, сначала опираюсь на рассчитанные значения контрастности. Только после этого пытаюсь «дожать» цвет до желаемого, что, как оказалось, не всегда возможно физически из-за особенностей восприятия цвета.
Подводя итог, для себя я сделал следующий простой и очевидный в ретроспективе вывод:
на белом фоне цвета должны быть темнее, а на темном — ярче
На сколько темнее и на сколько ярче — это достаточно размытая граница и здесь действительно играет роль субъективное восприятие.
С помощью таких инструментов оценки контрастности как WCAG можно точно измерить контрастность на начальном этапе, а не прикидывать ее буквально «на глаз».
Код без тайн
Как выбирать цвета для темной и светлой темы так, чтобы на них было комфортно смотреть #графика #цвет #дизайн #интерфейс #ui #ux Сегодня хочу рассказать про другую область, которая меня интересует уже как минимум две трети жизни: графический дизайн и дизайн…
Расширенная версия предыдущего поста доступна на vc.ru. В нем больше иллюстраций для наглядности
https://vc.ru/1597061
https://vc.ru/1597061
vc.ru
Как выбирать цвета для темной и светлой темы так, чтобы на них было комфортно смотреть — Дизайн на vc.ru
Алексей Дизайн 21 окт
Искусственный интеллект и машинное обучение — это одно и то же?
Недавно слушал подкаст и встретил мнение о том, искусственный интеллект (AI) и машинное обучение (ML) — это одно и то же, а сейчас просто из-за популярности ML стали называть AI в целях маркетинга.
Не могу согласиться с этим мнением и хочу рассказать почему, поскольку в свое время, когда я сам вникал в эту область у меня также была путаница в данных понятиях.
Что такое искусственный интеллект / artificial intelligence
В прошлом посте про ChatGPT o1 я рассуждал на тему AI и ссылался на общепринятые определения из психологии о том, что такое интеллект. Если коротко, то это способность совершать действия и адаптироваться на основе новой информации (по сути так работает любой процесс обучения).
Здесь важно отметить то, что речь идет о любой программе, которая может самостоятельно принимать решения. Ключевой, на мой взгляд, особенностью здесь является то, что эти решения и действия не обязательно должны быть сложными.
Ракетку противника в игре Pong (одной из первых «компьютерных» игр) уже можно считать искусственным интеллектом в широком смысле. Ведь алгоритм поведения противника принимает решение на каждом шаге в зависимости от положения шарика: двигать ракетку вверх или вниз.
Точно также работает искусственный интеллект в современных играх: есть заданный набор действий и алгоритм, по которым он переходит от одного действия к другому (кстати, это часто реализуется с помощью конечного автомата или цепи Маркова).
На самом деле, искуственный интеллект берет свое начало еще в 50-х годах и изначально основывался на статистике. Впрочем, в настоящий момент мало что изменилось. Современные алгоритмы по прежнему в большинстве своем работают с вероятностями.
Первое применение искусственный интеллект нашел в экспертных системах. По сути это были базы знаний, которые выдавали заранее заданный ответ в зависимости от входных данных.
Современные модели ИИ более продвинутые и уже могут имитировать человека в некоторых аспектах, таких как, например, стиль изложения в тексте.
Что такое машинное обучение / machine learning
В свою очередь, термин «машинное обучение», как правило, определяет класс алгоритмов, которые могут адаптироваться на основе новых данных (то есть «обучаться»). Отсюда может возникать путаница, но алгоритмы сами по себе не обладают «интеллектом». Это просто один из методов реализации искусственного интеллекта, которых может бы множество.
То есть вместо жесткой логики «если, то, иначе» используются более сложные алгоритмы, часто на основе нейронных сетей, которые могут адаптироваться под новые данные.
Нейронные сети в свою очередь привносят также другой популярный термин: «глубинное обучение».
Что такое глубокое обучение / deep learning
Глубокое обучение появляется тогда, когда используется нейронная сеть с множеством слоев нейронов. Это обучение называется глубинным, потому что чем больше слоев нейронов в нейронной сети, тем она глубже и тем ее сложнее обучать.
Новую популярность глубинное обучение обрело в районе 2010 года, когда вычислительные мощности и новые исследования позволили наконец-то работать с такими глубокими нейронными сетями. Хотя фундаментальная теория была уже была сформирована к 80-м годам.
Одной из значимых работ области глубинного обучения является AlexNet — нейронной сети с 650 000 нейронами для распознания изображений. Можно сказать, что это была первая нейронная сеть, которая успешно померила глубинное обучение на практике.
Для ее обучения была использована база ImageNet, состоящая из более чем миллиона изображений.
В целом, можно сказать, что глубинное обучение отличается от обычного количеством нейронов и значительно большим объемом данных, необходимых для обучения нейронной сети.
Заключение
Этим постом я хотел прояснить разницу между терминами AI, ML и DL.
Лично у меня была путаница между этими терминами и только спустя некоторое время работы с нейронными сетями я более четко осознал разницу между этими терминами.
Надеюсь теперь и вам стали яснее различия между ними!
Недавно слушал подкаст и встретил мнение о том, искусственный интеллект (AI) и машинное обучение (ML) — это одно и то же, а сейчас просто из-за популярности ML стали называть AI в целях маркетинга.
Не могу согласиться с этим мнением и хочу рассказать почему, поскольку в свое время, когда я сам вникал в эту область у меня также была путаница в данных понятиях.
Что такое искусственный интеллект / artificial intelligence
В прошлом посте про ChatGPT o1 я рассуждал на тему AI и ссылался на общепринятые определения из психологии о том, что такое интеллект. Если коротко, то это способность совершать действия и адаптироваться на основе новой информации (по сути так работает любой процесс обучения).
Здесь важно отметить то, что речь идет о любой программе, которая может самостоятельно принимать решения. Ключевой, на мой взгляд, особенностью здесь является то, что эти решения и действия не обязательно должны быть сложными.
Ракетку противника в игре Pong (одной из первых «компьютерных» игр) уже можно считать искусственным интеллектом в широком смысле. Ведь алгоритм поведения противника принимает решение на каждом шаге в зависимости от положения шарика: двигать ракетку вверх или вниз.
Точно также работает искусственный интеллект в современных играх: есть заданный набор действий и алгоритм, по которым он переходит от одного действия к другому (кстати, это часто реализуется с помощью конечного автомата или цепи Маркова).
На самом деле, искуственный интеллект берет свое начало еще в 50-х годах и изначально основывался на статистике. Впрочем, в настоящий момент мало что изменилось. Современные алгоритмы по прежнему в большинстве своем работают с вероятностями.
Первое применение искусственный интеллект нашел в экспертных системах. По сути это были базы знаний, которые выдавали заранее заданный ответ в зависимости от входных данных.
Современные модели ИИ более продвинутые и уже могут имитировать человека в некоторых аспектах, таких как, например, стиль изложения в тексте.
Что такое машинное обучение / machine learning
В свою очередь, термин «машинное обучение», как правило, определяет класс алгоритмов, которые могут адаптироваться на основе новых данных (то есть «обучаться»). Отсюда может возникать путаница, но алгоритмы сами по себе не обладают «интеллектом». Это просто один из методов реализации искусственного интеллекта, которых может бы множество.
То есть вместо жесткой логики «если, то, иначе» используются более сложные алгоритмы, часто на основе нейронных сетей, которые могут адаптироваться под новые данные.
Нейронные сети в свою очередь привносят также другой популярный термин: «глубинное обучение».
Что такое глубокое обучение / deep learning
Глубокое обучение появляется тогда, когда используется нейронная сеть с множеством слоев нейронов. Это обучение называется глубинным, потому что чем больше слоев нейронов в нейронной сети, тем она глубже и тем ее сложнее обучать.
Новую популярность глубинное обучение обрело в районе 2010 года, когда вычислительные мощности и новые исследования позволили наконец-то работать с такими глубокими нейронными сетями. Хотя фундаментальная теория была уже была сформирована к 80-м годам.
Одной из значимых работ области глубинного обучения является AlexNet — нейронной сети с 650 000 нейронами для распознания изображений. Можно сказать, что это была первая нейронная сеть, которая успешно померила глубинное обучение на практике.
Для ее обучения была использована база ImageNet, состоящая из более чем миллиона изображений.
В целом, можно сказать, что глубинное обучение отличается от обычного количеством нейронов и значительно большим объемом данных, необходимых для обучения нейронной сети.
Заключение
Этим постом я хотел прояснить разницу между терминами AI, ML и DL.
Лично у меня была путаница между этими терминами и только спустя некоторое время работы с нейронными сетями я более четко осознал разницу между этими терминами.
Надеюсь теперь и вам стали яснее различия между ними!
❤1👍1
Поиски инопланетной жизни продолжаются
Каждый раз когда упоминается возможность инопланетной жизни — это звучит как научная фантастика.
Однако совсем недавно — 14 октября 2024 — была запущена новая исследовательская миссия NASA под названием Europa Clipper.
Ее цель — исследование одного из спутников Юпитера — Европы на предмет признаков жизни.
Почему Европа?
Этот спутник отличается от других небесных тел тем, что он является ледяным. На его поверхности находится ледяная кора, под которой предположительно должен находиться океан.
Из-за этого поверхность Европы довольно гладкая, с огромными трещинами из-за деформации поверхности. Эти деформации могут быть вызваны тем, что при движении по своей орбите Европа то отдаляется, то приближается к Юпитеру.
С помощью телескопа Хаббл в атмосфере Европы были обнаружены пары воды. Это означает, что на нем скорее всего действуют гейзеры.
Получается, что под ледяной коркой может быть температура, пригодная для жизни бактерий или других простейших организмов. При активации гейзера вместе с водой они также могут быть выброшены в атмосферу.
Идея Europa Clipper
В этом состоит идея миссии Europa Clipper — запущенный спутник будет периодически пролетать над Европой в попытках собрать пары воды для анализа на наличие форм жизни.
Название Clipper позаимствовано от одноименного типа парусного судна, известное своей скоростью и маневренностью. Подобные корабли в свое время позволили значительно сократить длину рейса.
Дело в том, что просто запустить спутник вокруг Европы невозможно из-за радиации — он быстро выйдет из строя. Вместо этого предполагается, что на короткое время спутник будет сближаться с поверхностью Европы для забора образца и отдаляться до следующего захода. Это должно значительно увеличить продолжительность миссии.
Планируемая дата прибытия спутника на Европу — апрель 2030, то есть примерно через 5 лет.
Для ускорения доставки спутника к Юпитеру будет использоваться гравитационный маневр — это когда гравитация другого небесного тела используется для корректировки траектории и ускорения.
Какие шансы на успех миссии?
Конечно, исследовательская миссия такого масштаба не ограничивается лишь одной целью, а позволяет провести комплексное исследование спутника Юпитера.
В частности, множественные датчики и камеры позволят получить снимки поверхности Европы в высоком качестве и лучше изучить состав ее поверхности.
Все вместе даст ученым лучшее понимание о возможности жизни на Европе в принципе, даже если конкретных живых организмов найти не удастся.
Подробнее о цели миссии можно прочитать на сайте NASA: https://europa.nasa.gov/mission/about
Каждый раз когда упоминается возможность инопланетной жизни — это звучит как научная фантастика.
Однако совсем недавно — 14 октября 2024 — была запущена новая исследовательская миссия NASA под названием Europa Clipper.
Ее цель — исследование одного из спутников Юпитера — Европы на предмет признаков жизни.
Почему Европа?
Этот спутник отличается от других небесных тел тем, что он является ледяным. На его поверхности находится ледяная кора, под которой предположительно должен находиться океан.
Из-за этого поверхность Европы довольно гладкая, с огромными трещинами из-за деформации поверхности. Эти деформации могут быть вызваны тем, что при движении по своей орбите Европа то отдаляется, то приближается к Юпитеру.
С помощью телескопа Хаббл в атмосфере Европы были обнаружены пары воды. Это означает, что на нем скорее всего действуют гейзеры.
Получается, что под ледяной коркой может быть температура, пригодная для жизни бактерий или других простейших организмов. При активации гейзера вместе с водой они также могут быть выброшены в атмосферу.
Идея Europa Clipper
В этом состоит идея миссии Europa Clipper — запущенный спутник будет периодически пролетать над Европой в попытках собрать пары воды для анализа на наличие форм жизни.
Название Clipper позаимствовано от одноименного типа парусного судна, известное своей скоростью и маневренностью. Подобные корабли в свое время позволили значительно сократить длину рейса.
Дело в том, что просто запустить спутник вокруг Европы невозможно из-за радиации — он быстро выйдет из строя. Вместо этого предполагается, что на короткое время спутник будет сближаться с поверхностью Европы для забора образца и отдаляться до следующего захода. Это должно значительно увеличить продолжительность миссии.
Планируемая дата прибытия спутника на Европу — апрель 2030, то есть примерно через 5 лет.
Для ускорения доставки спутника к Юпитеру будет использоваться гравитационный маневр — это когда гравитация другого небесного тела используется для корректировки траектории и ускорения.
Какие шансы на успех миссии?
Конечно, исследовательская миссия такого масштаба не ограничивается лишь одной целью, а позволяет провести комплексное исследование спутника Юпитера.
В частности, множественные датчики и камеры позволят получить снимки поверхности Европы в высоком качестве и лучше изучить состав ее поверхности.
Все вместе даст ученым лучшее понимание о возможности жизни на Европе в принципе, даже если конкретных живых организмов найти не удастся.
Подробнее о цели миссии можно прочитать на сайте NASA: https://europa.nasa.gov/mission/about
NASA Science
Europa Clipper - NASA Science
Europa Clipper is Earth's first mission to conduct a detailed science investigation of Jupiter's moon Europa.
😱1