머신러닝(ML)은 컴퓨터가 명시적으로 프로그래밍하지 않고도 데이터를 통해 학습할 수 있도록 하는 데 중점을 둔 인공지능(AI) 의 하위 분야입니다. 여기에는 경험을 통해 특정 작업의 성능을 자동으로 향상시킬 수 있는 알고리즘의 개발이 포함됩니다. 이러한 알고리즘은 노출된 데이터를 기반으로 패턴을 식별하고, 예측하고, 행동을 조정합니다. 이러한 기능은 기존의 프로그래밍 방법으로는 해결하기 어렵거나 비현실적인 복잡한 문제를 해결하는 데 매우 중요합니다.
머신 러닝 알고리즘은 데이터를 통해 학습하도록 설계되며, 일반적으로 학습 데이터, 검증 데이터, 테스트 데이터로 나뉩니다. 학습 데이터는 모델을 학습시키는 데 사용되며, 검증 데이터는 모델의 하이퍼파라미터를 미세 조정하는 데 도움이 되고, 테스트 데이터는 보이지 않는 데이터에 대한 모델의 성능을 평가하는 데 사용됩니다.
머신러닝에는 여러 유형의 학습 패러다임이 존재합니다:
머신러닝은 다른 인공지능 분야와 밀접한 관련이 있지만, 그와는 뚜렷한 특징이 있습니다. 여러 계층의 신경망(NN) 에 초점을 맞춘 머신러닝의 하위 집합인 딥러닝(DL)과 달리 머신러닝은 더 광범위한 알고리즘과 기술을 포괄합니다. 컴퓨터 비전(CV) 과 자연어 처리(NLP) 는 각각 시각 데이터와 텍스트 데이터를 처리하고 이해하는 데 중점을 둔 머신 러닝의 특정 애플리케이션입니다.
머신러닝은 데이터 기반의 의사 결정과 자동화를 가능하게 함으로써 수많은 산업에 혁신을 가져왔습니다. 다음은 두 가지 구체적인 예입니다:
여러 도구와 프레임워크를 통해 머신러닝 모델의 개발과 배포가 용이해집니다. PyTorch 과 TensorFlow 는 신경망 구축과 훈련에 필요한 인프라를 제공하는 두 가지 인기 있는 딥 러닝 프레임워크입니다. 또한 OpenCV와 같은 라이브러리는 컴퓨터 비전 작업을 위한 다양한 기능을 제공합니다. 이러한 도구와 다른 도구는 Ultralytics 블로그에서 살펴볼 수 있습니다.
보다 사용자 친화적인 접근 방식에 관심이 있는 분들을 위해 Ultralytics HUB와 같은 플랫폼에서는 최첨단 Ultralytics YOLO 모델을 포함하여 머신러닝 모델을 훈련하고 배포할 수 있는 노코드 솔루션을 제공합니다. 이를 통해 프로그래밍에 대한 전문 지식이 없는 개인과 기업도 머신러닝의 강력한 기능을 쉽게 활용할 수 있습니다.