Today, artificial intelligence helps doctors diagnose patients, pilots fly commercial aircraft, and city planners predict traffic. But no matter what these AIs are doing, the computer scientists who designed them likely don’t know exactly how they’re doing it. This is because artificial intelligence is often self-taught, working off a simple set of instructions to create a unique array of rules and strategies. So how exactly does a machine learn?
В наши дни искусственный интеллект (ИИ) помогает врачам диагностировать больных, пилотам управлять пассажирскими лайнерами, градостроителям предвидеть пробки. Вне зависимости от того, чем занимаются системы ИИ, их разработчики вряд ли точно знают, как эти программы действуют. Это потому, что искусственный интеллект зачастую самообучается, отрабатывая простой набор инструкций, он создаёт уникальный блок правил и алгоритмов. Как же именно учится машина?
There are many different ways to build self-teaching programs. But they all rely on the three basic types of machine learning: unsupervised learning, supervised learning, and reinforcement learning. To see these in action, let’s imagine researchers are trying to pull information from a set of medical data containing thousands of patient profiles.
Существует много способов создать самообучаемую программу. Но все они основываются на трёх основных типах машинного обучения: обучение без учителя, обучение с учителем и обучение с подкреплением. Чтобы увидеть их в действии, давайте представим, что учёные пытаются добыть информацию из набора медицинских данных, содержащих карты тысяч пациентов.
First up, unsupervised learning. This approach would be ideal for analyzing all the profiles to find general similarities and useful patterns. Maybe certain patients have similar disease presentations, or perhaps a treatment produces specific sets of side effects. This broad pattern-seeking approach can be used to identify similarities between patient profiles and find emerging patterns, all without human guidance.
Первым делом — обучение без учителя. Этот подход идеально подходит для анализа всех медкарт с целью выявить общие сходства и полезные шаблоны. Возможно, у некоторых пациентов имеются одинаковые проявления болезни или же лечение вызывает определённый набор побочных эффектов. Этот широкий подход к поиску шаблонов может быть использован для выявления сходств между картами пациентов и зарождающихся закономерностей без какого-либо вмешательства человека.
But let's imagine doctors are looking for something more specific. These physicians want to create an algorithm for diagnosing a particular condition. They begin by collecting two sets of data— medical images and test results from both healthy patients and those diagnosed with the condition. Then, they input this data into a program designed to identify features shared by the sick patients but not the healthy patients. Based on how frequently it sees certain features, the program will assign values to those features’ diagnostic significance, generating an algorithm for diagnosing future patients. However, unlike unsupervised learning, doctors and computer scientists have an active role in what happens next. Doctors will make the final diagnosis and check the accuracy of the algorithm’s prediction. Then computer scientists can use the updated datasets to adjust the program’s parameters and improve its accuracy. This hands-on approach is called supervised learning.
Но давайте представим, что врачи ищут нечто более специфическое. Эти доктора хотят создать алгоритм для диагностирования определённого заболевания. Они начинают со сбора двух наборов данных — медицинских снимков и результатов тестов как здоровых пациентов, так и диагностированных с этим заболеванием. Затем они вводят эти данные в программу, созданную для выявления общих симптомов у больных, которые отсутствуют у здоровых пациентов. Основываясь на частоте обнаружения определённых признаков, программа присваивает значения данным, исходя из их важности для диагностики, что создаёт алгоритм диагностирования для будущих пациентов. Однако, в отличие от обучения без учителя, врачи и программисты принимают активное участие в дальнейших событиях. Врачи поставят окончательный диагноз и проверят точность прогнозирования по алгоритмам. Затем программисты смогут использовать обновлённые данные, чтобы подправить параметры программы и повысить её точность. Такой управляемый подход называется обучением с учителем.
Now, let’s say these doctors want to design another algorithm to recommend treatment plans. Since these plans will be implemented in stages, and they may change depending on each individual's response to treatments, the doctors decide to use reinforcement learning. This program uses an iterative approach to gather feedback about which medications, dosages and treatments are most effective. Then, it compares that data against each patient’s profile to create their unique, optimal treatment plan. As the treatments progress and the program receives more feedback, it can constantly update the plan for each patient. None of these three techniques are inherently smarter than any other. While some require more or less human intervention, they all have their own strengths and weaknesses which makes them best suited for certain tasks. However, by using them together, researchers can build complex AI systems, where individual programs can supervise and teach each other. For example, when our unsupervised learning program finds groups of patients that are similar, it could send that data to a connected supervised learning program. That program could then incorporate this information into its predictions. Or perhaps dozens of reinforcement learning programs might simulate potential patient outcomes to collect feedback about different treatment plans.
Теперь предположим, что те же врачи хотят создать другой алгоритм для перспективных планов лечения. Поскольку эти планы будут реализовываться поэтапно и могут меняться в зависимости от индивидуальной реакции на лечение, врачи решают задействовать обучение с подкреплением. При этом используется итерационный подход для сбора обратной связи о том, какие лекарства, дозировки и методы лечения наиболее эффективны. Затем система сравнивает эти данные с картой каждого пациента и в каждом конкретном случае создаёт оптимальный план лечения. В ходе лечения и по мере поступления новой обратной связи программа может постоянно обновлять план лечения для каждого пациента. Ни один из этих подходов не является заведомо «умнее» любого другого. Хотя некоторые из них требуют вмешательства человека, у каждого из них есть свои сильные и слабые стороны, которые являются оптимальными для определённых задач. Однако, используя их в совокупности, учёные могут разрабатывать комплексные системы ИИ, где отдельные программы руководят и обучают друг друга. Например, когда обучающаяся программа без учителя находит похожие группы пациентов, она может передать данные смежной обучающейся программе с учителем. Та программа может затем включить эту информацию в свой прогноз. Или, возможно, десятки обучающих программ с подкреплением способны симулировать потенциальные исходы болезни, что позволит получить обратную связь о различных планах лечения.
There are numerous ways to create these machine-learning systems, and perhaps the most promising models are those that mimic the relationship between neurons in the brain. These artificial neural networks can use millions of connections to tackle difficult tasks like image recognition, speech recognition, and even language translation. However, the more self-directed these models become, the harder it is for computer scientists to determine how these self-taught algorithms arrive at their solution. Researchers are already looking at ways to make machine learning more transparent. But as AI becomes more involved in our everyday lives, these enigmatic decisions have increasingly large impacts on our work, health, and safety. So as machines continue learning to investigate, negotiate and communicate, we must also consider how to teach them to teach each other to operate ethically.
Существует много способов создания этих систем машинного обучения и, возможно, самыми перспективными являются модели, которые подражают нейронным связям в головном мозге. Такие искусственные нейронные сети могут использовать миллионы связей и справляться с такими сложными задачами, как распознавание образов и речи, и даже с переводами с одного языка на другой. Однако, чем более самоуправляемыми становятся эти модели, тем сложнее программистам определять, как эти самообучающиеся алгоритмы пришли к полученному результату. Учёные уже рассматривают способы сделать машинное обучение более прозрачным. Но по мере того, как ИИ входит в повседневную жизнь, эти непонятные решения всё больше влияют на нашу работу, здоровье и безопасность. Пока машины продолжают учиться исследовать, договариваться и общаться, мы должны объяснить им, как взаимодействовать друг с другом