늦깎이 공대생의 인공지능 연구실
[논문 요약] AI 안전에 관한 구체적인 문제들(Concrete Problems in AI Safety) 본문
2016년, 구글, 스탠포드, UC버클리 및 OpenAI의 연구원들이 공개한 논문 "AI 안전에 관한 구체적은 문제들(Concrete Problems in AI Safety)에 대해 다루어보고자 합니다. 2021년 12월 현재 피인용수 1300건을 기록한 이 논문은 5년이 지난 지금까지도 여전히 AI 안전에 관한 가장 중요한 논문 중 하나입니다. 심지어 연구원들이 인공지능을 개발하면서 직면하는 몇 가지 문제들에 대한 훌륭한 입문서로 활용되고 있습니다. 이 논문에서 저자들은 AI 시스템에서 의도하지 않았던 해로운 행동을 초래하는 사고 문제를 탐구하고, 이러한 잠재적인 문제로부터 보호하기 위한 다양한 전략과 진행 중인 연구들에 대해 논의합니다. 특히 저자들은 사무실을 청소하도록 훈련된 로봇의 예를 통해 치명적인 부작용 방지(Avoiding Negative Side Effect), 보상 해킹,(Reward Hacking) 확장성있는 관리(Scalable Oversight) , 안전한 탐색(Safe Exploration) 및 분산 변이에 대한 견고성(Robustness to Distributional Shift)을 설명합니다.
이 다섯 가지 주제에 대해 다룬 이 논문을 요약하여 다시 살펴보고자 합니다. 이를 통해 이러한 문제들이 여전히 AI 연구원들이 해결하기 위해 분투하고 있는 주요 문제라는 것을 다시 생각해봅니다.
부작용 방지(Avoiding Negative Side Effects)
AI 시스템의 목적 함수를 설계할 때 개발자는 시스템이 따라야 할 정확한 단계가 아닌 목표를 지정합니다. 이는 AI 시스템이 목표를 달성하기 위한 새롭고 더 효과적인 전략을 생각해 낼 수 있게 해줍니다.
그러나 목적 함수가 잘 정의되지 않으면, 인공지능의 자체적인 전략 개발 능력은 의도하지 않은 해로운 부작용을 초래할 수 있습니다. 다른 방으로 상자를 이동하는 것이 목적 함수인 로봇을 생각해 봅니다. 목적은 간단해 보이지만, 이것이 잘못될 수 있는 방법은 무수히 많습니다. 예를 들어, 만약 꽃병이 로봇의 경로에 있다면, 로봇은 목표를 달성하기 위해 꽃병을 쓰러뜨릴 수 있습니다. 목적 함수에 꽃병에 대한 언급이 없기 때문에 로봇은 그것을 피할 줄 모르는 것이지요. 사람들은 이것을 상식으로 보지만, 인공지능 시스템은 세상에 대한 우리의 이해를 공유하지 않습니다. 목표를 "완전한 작업 X"로 공식화하는 것만으로는 충분하지 않습니다. 개발자는 작업을 완료할 안전 기준도 지정해야 합니다.
한 가지 간단한 해결책은 로봇이 꽃병을 넘어뜨리거나 나무 바닥을 긁는 것과 같이 "환경"에 영향을 미칠 때마다 패널티를 주는 것입니다. 그러나 모든 동작에는 일정 수준의 환경과의 상호 작용이 필요하며 따라서 환경에 영향을 미치기 때문에 이 전략은 로봇을 효과적으로 무력화시켜 무용지물로 만들 수 있습니다. 더 나은 전략은 AI 시스템이 환경에 얼마나 영향을 미치도록 허용되는지에 대한 "예산"을 정의하는 것입니다. 이렇게 하면 AI 시스템을 무력화하지 않고도 의도하지 않은 충격을 최소화할 수 있습니다. 또한 에이전트의 영향을 예산으로 책정하는 이러한 전략은 매우 일반적이며, 청소부터 운전, 금융 거래, AI 시스템이 수행할 수 있는 다른 모든 작업에 이르기까지 여러 작업에 걸쳐 재사용될 수 있습니다. 이 접근 방식의 한 가지 심각한 한계는 고정된 도메인 및 작업에서도 환경에 미치는 "영향"을 정량화하기 어렵다는 것입니다.
또 다른 접근법은 에이전트가 해로운 부작용을 인식하여 그러한 부작용으로 이어지는 행동을 피할 수 있도록 훈련하는 것입니다. 이 경우 에이전트는 목적 함수에 의해 지정된 원래 작업과 부작용 인식 작업 두 가지 작업에 대한 교육을 받게 됩니다. 여기서 핵심 아이디어는 두 가지 작업이 주요 목적이 다르거나 다른 환경에서 작동하더라도 매우 유사한 부작용을 일으킬 수 있다는 것입니다. 예를 들어, 집안 청소 로봇과 집안 페인팅 로봇 모두 작업 중에 꽃병을 쓰러뜨리면 안 됩니다. 마찬가지로 청소 로봇은 공장에서 작동하든 가정에서 작동하든 상관없이 바닥을 손상시키지 않아야 합니다. 이 접근 방식의 주요 장점은 에이전트가 한 작업에 대한 부작용을 피하는 방법을 배우면 다른 작업에 대해 교육을 받을 때 이러한 지식을 전달할 수 있다는 것입니다. 애초에 부작용을 인지할 수 있도록 에이전트를 훈련시키는 것은 여전히 어려울 것입니다.
부작용을 제한하기 위한 접근법을 설계하는 것은 유용하지만, 이러한 전략 자체는 충분하지 않습니다. AI 시스템은 실제 환경에 배치하기 전에 광범위한 테스트와 중요한 평가를 받아야 합니다.
보상 해킹(Reward Hacking)
때때로 AI가 받지 못한 보상을 받기 위해 시스템 설계에 일종의 '핵'이나 허점을 떠올릴 수 있습니다. AI는 보상을 극대화하도록 학습되기 때문에 이러한 허점과 "지름길"을 찾는 것이 AI에게 완벽하게 공정하고 유효한 전략입니다. 예를 들어, 사무실 청소 로봇이 사무실에 쓰레기가 보이지 않는 경우에만 보상을 받는다고 가정합니다. 장소를 청소하는 대신, 로봇은 시각 센서를 끄고 쓰레기를 보지 않는다는 목표를 달성할 수 있었습니다. 하지만 이것은 명백히 잘못된 성공입니다. 시스템을 "게임"화하려는 이러한 시도는 모호하게 정의된 보상이 있는 복잡한 시스템에서 나타날 가능성이 더 높습니다. 복잡한 시스템은 에이전트에게 환경과 상호 작용하는 다양한 방법을 제공하므로 에이전트에게 더 많은 자유를 주며, 모호하게 정의된 보상은 작업에 대한 진정한 성공을 가늠하기 어렵게 만듭니다.
부정적인 부작용 문제와 마찬가지로, 이 문제도 객관적인 오류의 발현이라 할수 있습니다. AI의 공식적인 목표나 최종 목표는 시스템을 만드는 이면에 있는 비공식적인 "의도", 즉 설계자가 실제로 시스템이 동작되기를 원하는 것을 포착할 만큼 잘 정의되어 있지 않습니다. 어떤 경우에는 이러한 불일치로 인해 최적이 아닌 결과(청소 로봇이 시각 센서를 차단했을 때)가 발생하고 다른 경우에는 유해한 결과(청소 로봇이 꽃병을 쓰러뜨렸을 때)가 발생합니다.
이 문제를 완화할 수 있는 한 가지 가능한 접근법은 학습 에이전트에 대한 보상이 유효한지 여부를 표시하는 유일한 작업을 수행하는 "보상 에이전트"를 두는 것입니다. 보상 에이전트는 학습 에이전트(청소 로봇)가 시스템을 악용하지 않고 오히려 원하는 목표를 완수하도록 보장합니다. 이전 예제에서 "보상 에이전트"는 방에 쓰레기가 있는지 여부를 확인하기 위해 인간 설계자에 의해 훈련될 수 있습니다(방 청소보다 쉬운 작업이라 할 수 있겠지요). 청소 로봇이 시각 센서를 차단하고 높은 보상을 요구하면 "보상 에이전트"는 보상을 무효로 표시합니다. 그런 다음 개발자는 "유효하지 않음"으로 표시된 보상을 조사하고 허점을 수정하기 위해 목표 함수에 필요한 변경을 할 수 있습니다.
확장성있는 관리(Scalable Oversight)
에이전트가 복잡한 작업을 수행하는 방법을 배울 때, 환경으로부터의 리워드보다 인간의 관리와 피드백이 더 도움이 됩니다. 보상은 일반적으로 작업이 어느 정도까지 완료되었는지 전달하는 방식으로 모델링되지만, 일반적으로 에이전트의 조치가 안전에 미치는 영향에 대해 충분한 피드백을 제공하지는 못합니다. 에이전트가 작업을 성공적으로 완료하더라도 보상만으로는 해당 작업의 부작용을 추론하지 못할 수 있습니다. 이상적인 환경에서는 에이전트가 작업을 수행할 때마다 사람이 세밀한 감독과 피드백을 제공합니다. 이것은 에이전트에게 환경에 대한 훨씬 더 유익한 관점을 제공하지만, 그러한 전략은 인간의 너무 많은 시간과 노력을 필요로 할 것입니다.
이 문제를 해결하기 위한 유망한 연구 방향 중 하나는 준지도 학습(Semi-supervised learning)으로, 에이전트는 여전히 모든 행동(또는 작업)에 대해 평가되지만 그러한 행동(또는 작업)의 작은 샘플에 대해서만 보상을 받습니다. 예를 들어 청소 로봇은 방을 청소하기 위해 여러 가지 행동을 취할 것입니다. 로봇이 바닥 손상과 같은 유해한 작업을 수행할 경우 해당 작업에 대해 부정적인 보상을 받습니다. 작업이 완료되면 로봇은 모든 작업의 전체적인 영향에 대해 평가되며(바닥에서 아이템을 집어드는 것과 같은 각 작업에 대해 개별적으로 평가되지 않는) 전체 수행에 따라 보상이 주어집니다.
또 다른 유망한 연구 방향은 계층적 강화 학습(Hierarchical reinforcement learning)으로, 계층적 강화 학습은 서로 다른 학습 주체 간에 계층이 형성됩니다. 이 아이디어는 다음과 같은 방법으로 청소 로봇에 적용될 수 있습니다. 청소 로봇에 일부 작업(예: 특정 방 청소 작업)을 할당하고 피드백과 보상을 제공하는 지도 로봇(Supervisor robot)이 있을 것입니다. 지도 로봇은 청소 로봇에 강의실을 할당하고, 강의실이 깨끗한지 확인하고, 피드백을 제공하는 등의 조치를 거의 취하지 않으며, 효과적으로 교육을 받기 위해 많은 보상 데이터가 필요하지 않습니다. 청소 로봇은 방을 청소하는 더 복잡한 작업을 하고 지도 로봇으로부터 피드백을 자주 받습니다. 동일한 지도 로봇이 여러 청소 로봇의 교육도 간과할 수 있습니다. 예를 들어, 지도 로봇은 개별 청소 로봇에게 작업을 위임하고 직접 보상/피드백을 제공할 수 있습니다. 지도 로봇은 적은 수의 추상적인 작업만 수행할 수 있으므로 희박한 보상을 통해 학습할 수 있습니다.
안전한 탐색(Safe Exploration)
AI 에이전트를 훈련시키는 중요한 점 중 하나는 AI 에이전트가 환경을 탐색하고 이해하도록 하는 것입니다. 환경을 탐색하는 것이 단기적으로는 나쁜 전략으로 보일 수 있지만, 장기적으로는 매우 효과적인 전략이 될 수 있습니다. 청소 로봇이 쓰레기를 식별하는 법을 배웠다고 상상해 봅시다. 쓰레기 한 조각을 주워 방에서 나와 밖에 있는 쓰레기통에 버리고 다시 방에 들어와 다른 쓰레기를 찾아보는 작업을 반복합니다. 이 전략이 효과가 있겠지만, 훨씬 더 잘 작동하는 다른 전략이 있을 수 있습니다. 에이전트가 환경을 탐색하는 데 시간을 할애했다면 방에 더 작은 쓰레기통이 있을 수 있습니다. 한 번에 한 개씩 왔다 갔다 하는 대신, 에이전트는 먼저 모든 쓰레기를 더 작은 쓰레기통에 수거한 후 한 번 이동해서 쓰레기를 바깥 쓰레기통에 버릴 수 있었습니다. 에이전트가 환경을 탐색하도록 설계되지 않은 경우 이러한 시간 절약 전략을 발견할 수 없습니다.
그러나 탐색하는 동안 에이전트는 자신이나 환경을 손상시킬 수 있는 조치를 취할 수도 있습니다. 예를 들어 청소 로봇이 바닥에 얼룩이 있는 것을 본다고 가정해보세요. 걸레로 때를 닦는 대신, 에이전트는 새로운 전략을 시도하기로 결정합니다. 로봇은 철사로 얼룩을 긁어내려고 하고, 그 과정에서 바닥을 손상시킵니다. 가능한 모든 고장 모드를 나열하고 에이전트를 좀 더 정교하게 코딩하여 그것으로부터 보호하는 것은 어렵습니다. 그러나 피해를 줄이기 위한 한 가지 방법은 최악의 경우 학습 에이전트의 성능을 최적화하는 것입니다. 개발자는 목적 함수를 설계할 때 에이전트가 항상 최적의 조건에서 작동한다고 가정해서는 안 됩니다. 에이전트가 최적의 조건에서 더 제한적인 작업을 수행하게 되는 경우에도 일부 명시적 보상 신호를 추가하여 치명적인 작업을 수행하지 않도록 할 수 있습니다.
또 다른 해결책은 에이전트의 탐색을 시뮬레이션 환경으로 줄이거나 에이전트가 탐색할 수 있는 범위를 제한하는 것입니다. 이는 부정적인 부작용을 피하기 위해 에이전트 영향에 대한 보상을 책정하는 것과 유사한 접근 방식으로, 에이전트가 환경을 탐색할 수 있는 양을 책정하고자 합니다. 대신, 인공지능 개발자들은 다른 시나리오에서 최적의 행동이 어떻게 보일지 보여줌으로써 탐색의 필요성을 피할 수 있습니다.
분산 변이에 대한 견고성(Robustness to Distributional Change)
실제 환경에서 AI 에이전트를 배치하는 데 있어 복잡한 과제는 에이전트가 이전에 경험하지 못한 상황에 처할 수 있다는 것입니다. 이러한 상황은 본질적으로 처리하기가 더 어려우며 에이전트가 유해한 조치를 취할 수 있습니다. 청소 로봇은 이전의 모든 문제를 해결하면서 사무실 공간을 청소하도록 훈련되었습니다. 하지만 오늘은 직원이 사무실에 보관하기 위해 작은 식물을 가져다 둡니다. 청소 로봇은 이전에 어떤 식물도 본 적이 없기 때문에, 그 식물을 쓰레기로 간주하여 버릴 수도 있습니다. 인공지능은 이것이 이전에 보지 못한 상황임을 인식하지 못하기 때문에, 마치 아무것도 변하지 않은 것처럼 계속 행동합니다. 유망한 연구 방향 중 하나는 에이전트가 실수를 할 가능성이 더 높다는 것을 인식하기 위해 새로운 시나리오를 접했을 때를 식별하는 데 초점을 맞추고 있습니다. 이것은 예상치 못한 상황에 대비하여 AI 시스템을 준비하는 근본적인 문제를 해결하지는 못하지만, 실수가 발생하기 전에 문제를 감지하는 데 도움이 됩니다. 연구의 또 다른 방향은 익숙한 시나리오에서 새로운 시나리오로 지식을 안전하게 전달하는 것을 강조합니다.
결론
간단히 말해서, 일반적인 추세는 AI 시스템의 자율성을 증가시키는 것이고, 자율성이 증가함에 따른 오류의 가능성이 증가하게 된다는 것입니다. AI 안전과 관련된 문제는 자동화된 산업 프로세스, 자동화된 금융 거래 알고리즘, 정당을 위한 AI 기반 소셜 미디어 캠페인, 자가 운전 자동차, 청소 로봇 등 AI 시스템이 인간 없이 물리적이거나 디지털 환경을 직접 제어하는 시나리오에서 나타날 가능성이 높습니다. 이러한 도전들은 엄청날지 모르지만, 좋은 소식은 AI 안전의 구체적 문제와 같은 논문들이 AI 커뮤니티가 이러한 과제를 인식하고 핵심 이슈에 동의하는 데 도움이 되었다는 것입니다. 여기서부터 연구자들은 점점 발전하는 우리의 시스템이 안전하고 유익하게 유지될 수 있도록 전략을 모색하기 있다는 것이지요.
참고논문: https://arxiv.org/abs/1606.06565
'BAIR' 카테고리의 다른 글
[논문프리뷰] 인공증강지능을 위해 HITL(Human-in-the-Loop)을 다시 생각하다 (0) | 2022.07.10 |
---|---|
사회에 도움을 주는 강화학습 시스템 설계 (0) | 2022.06.27 |
합성 개구경 레이더(SAR) 이미지로 컴퓨터 비전을 사용한 우크라이나 전황 지능 분석 가속화 방법 (0) | 2022.04.21 |
[논문 프리뷰]비지도 강화학습 밴치마크(The Unsupervised Reinforcement Learning Benchmark) (0) | 2022.01.10 |
[논문 프리뷰] 기계학습 안전에서 해결되지 않은 문제점들(Unsolved Problems in ML Safety) (0) | 2021.11.27 |