Share
Sign In
Lighthouse LLM
MLE와 MAP로 살펴보는 딥러닝
최윤진
😀
1
😍
1
이번 글에서는 딥러닝을 통계로 이해하는 방법인 MLE와 MAP에 대해서 살펴보겠습니다.
https://sanghyu.tistory.com/10
1. MLE
MLE는 Maximum Likelihood Estimation의 약자입니다.
가능도(Likelihood)
가능도는 확률과 대비되는 개념입니다.
정육면체의 주사위의 각 면이 나올 ‘확률’은 1/6로 정의할 수 있습니다.
확률을 사용할 수 있는 이유는 확률 분포나 모델이 명확히 정의되어 있기 때문입니다.
특정 데이터가 관찰될 정도는 확률로 표현할 수 있습니다.
반면 가능도는 데이터가 미리 정의된 상황에서 어떠한 확률 분포 혹은 모델이 그것을 설명하는 정도를 측정할때 사용합니다. 예를 들어 형태를 모르는 주사위를 400번 던졌는데 1,2,3,4의 숫자만 100번씩 나온 상황이 있다고 해봅시다. 그렇다면 주사위의 모양은 정육면체가 아니라 정사면체로부터 나올 가능성이 높다고 생각할 수 있습니다. 이러한 정도를 측정할 때 가능도를 사용합니다. 아래 그림에서 특정 점에 위치하는 데이터 x 를 설명할 가능도가 높은 것은 분홍색 확률 분포라고 할 수 있습니다.
확률은 특정 모델이 정해진 상황에서 데이터를 예측하는데 사용하지만,
가능도는 데이터가 관찰된 상황에서 사용하기 때문에 딥러닝과 관련이 있습니다.
https://recipesds.tistory.com/entry/%EC%9A%B0%EB%8F%84%EB%9E%80-%EB%8F%84%EB%8C%80%EC%B2%B4-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-%EC%A0%90-%EC%B6%94%EC%A0%95%EC%A0%84%EC%97%90-%ED%95%98%EB%8A%94-%EC%A4%80%EB%B9%84-%EC%B2%B4%EC%A1%B0-%EA%B0%80%EB%8A%A5%EB%8F%84-Likelihood%EB%9D%BC%EA%B3%A0%EB%8F%84-%EB%B6%88%EB%A6%AC%EB%8A%94-%EC%B9%B4%EC%98%A4%EC%8A%A4%EC%A0%81%EC%9D%B8-%EB%82%A9%EB%93%9D
딥러닝은 MLE다.
신경망의 가중치들이 올바르게 학습될 수록, 신경망은 데이터를 더 잘 설명할 수 있습니다.
가능도가 커지고 있다고 볼 수 있습니다.
즉, 가능도를 최대화 하는 것(MLE)는 딥러닝의 목표입니다.
https://secml.readthedocs.io/en/stable/tutorials/01-Training.html
가능도 $L(\theta|Data)$는 조건부 확률 $P(Data|\theta)$로 계산하며 MLE 는 아래와 같이 적을 수 있습니다.

MLE = argmax(L(\theta|Data)) = argmax(P(Data |\theta))
학습하는 데이터들이 $x$ 라는 분포에서 관찰 되었다고 해봅시다.
최대화 문제는 $argmin * -$ 변환을 통해 최소화 문제로 바꿀 수 있습니다.
MLE 를 만족하는 $\theta$ 는 아래와 같이 적을 수 있습니다.
아래의 조건을 만족하는 가중치는 학습 데이터에 대한 가능도를 최대화 하는 가중치입니다.
$x$ 의 데이터 분포를 이산형 확률 분포(베르누이), 연속형 확률 분포(정규분포) 로 분리하면 각각 아래와 같은 식으로 변환 할 수 있습니다.
이산형 확률 변수를 사용하는 분류 문제를 푸는 경우 Cross Entropy 함수를
연속형 확률 변수를 사용하는 회귀 문제를 푸는 경우 MSE 손실 함수를 썼던 이유를
MLE 관점에서 보았을 때 유도될 수 있는 사실로 이해할 수 있습니다.
Cross Entropy, MSE 손실 함수를 사용하지 않아도 모델을 학습 시킬 수 있습니다.
하지만 이론적으로 가능도를 최대화 하기 위해서는 이 손실 함수를 최소화 하는것이 MLE 에 부합합니다.
2. MAP
딥러닝은 MLE의 과정이기도 하지만 MAP(Maximum A Posteriori)의 과정이라고도 볼 수 있습니다.
사후확률(Posteriori)가 무엇인지, 딥러닝을 왜 MAP 로 이해할 수 있는지 베이즈 정리에서 출발 해 봅시다.
베이즈 정리
베이즈 정리는 조건부확률에서 유도되는 자연스러운 식입니다. 이것이 가지는 의미는 무엇 일까요 ?
베이즈 정리의 식을 살펴보면 $P(A|B)$를 모르기 때문에, 알고 있는 $P(B|A)$, $P(A)$를 이용하는 것입니다.
$P(A|B)$ 를 구하기 위해서 $P(B|A)$ 와 $P(A)$ 의 곱을 이용합니다.
비, 먹구름 - 베이즈정리
$A$ 를 비가 오는 사건, $B$를 먹구름이 끼는 사건이라고 해봅시다.
베이즈 정리에 따르면
먹구름이 꼈을 때 비가 올 확률 $P(비|먹구름)$ 은
비가 왔을 때 먹구름이 낄 확률 $P(먹구름 | 비)$ 과 비가 올 확률 $P(비)$ 에 비례합니다.
사전에 알고 있던 $P(비)$는
비가 왔을 때 먹구름이 꼈던 사건 $P(먹구름|비)$ 들에 대한 경험을 통해
먹구름이 꼈을 때 비가 올 확률 $P(먹구름|비)$ 을 계산하는 데 도움을 줄 수 있습니다.
과거의 벌어진 경험을 통해 잘 알지 못하는 확률(믿음)을 수정해 나갈 수 있다는 것이 베이즈 정리가 말하는 사실입니다.
과거의 믿음 $P(A)$ 를 사전확률이라 하며
수정된 확률 $P(A|B)$를 사후확률이라 합니다.
MAP의 사후확률은 베이즈정리의 사후확률을 말합니다.
https://angeloyeo.github.io/2020/01/09/Bayes_rule.html
딥러닝 - 베이즈정리
딥러닝의 경우로 생각해봅시다.
$A$를 신경망의 가중치, $B$를 학습 데이터라 하면, 베이즈 정리를 아래와 같이 적을 수 있습니다.
$P(\theta|Data)$는 학습 데이터가 주어진 상태에서 모델의 가중치가 등장할 확률 입니다.
$P(\theta$) 는 모델의 가중치가 등장할 확률입니다.
$P(Data|\theta)$는 MLE 을 사용할때 사용했던 가능도와 같습니다.
MAP 내부에 MLE가 있습니다.
MLE는 MAP의 일부라고 이해 할 수 있습니다.
딥러닝은 MAP다.
MLE가 아니라 MAP가 딥러닝의 목표가 될 수 있는 이유는 무엇일까요?
사후 확률 $P(\theta|Data)$ 를 다시 생각해봅시다.
이 값은 데이터가 주어졌을 때, 특정 가중치들의 분포가 나타날 확률입니다.
가중치들은 신경망에서 무수히 많습니다.
이런 가중치들이 특정 학습 데이터 하에서 등장할 확률을 계산하는 방법은 없습니다.
이론적으로 학습 데이터가 주어진 상황에서, 모든 가중치 조합들의 등장 확률을 계산해서 가장 높게 나오는 것을 채택 한다면 가장 좋은 모델을 얻을 수 있습니다.
하지만 현실적으로 불가능하기 때문에 $P(Data|\theta)$ 를 이용하는 것입니다.
베이즈 정리는 이것이 가능함을 알려주고 있습니다.
$P(Data|\theta)$ 은 손실 함수를 통해 추정할 수 있으며 backprpagation 을 통해 최대화 하는 방향으로 학습 시킬 수 있습니다.
딥러닝을 MLE로 이해하는 관점은 MAP 중에서 가능도 $P(Data|\theta)$ 만을 사용하는 방법이며 나머지 $P(\theta)$ 에 대한 고려는 사용하지 않는 방법입니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
MAP를 위해선 신경망의 가중치 분포 $P(\theta)$를 같이 고려해줘야 합니다.
베이즈 정리의 용어 상으론 사전 확률입니다.
MAP는 사전확률을 고려한다.
MAP에 log 함수를 씌우면 아래와 같이 바뀔 수 있습니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
위 식이 말하는 것은 아래와 같습니다.
MLE를 최대화 할 때는 Cross Entropy, MSE 와 같은 손실 함수만 최소화하면 됩니다.
하지만 MAP 를 최대화 할때는 손실 함수에 가중치 확률의 로그 값을 더해준 결과를 같이 최소화 해야 합니다.
$\theta$ 의 확률 분포가 정규분포(가우시안), 라플라스 분포라고 가정 해봅시다.
라플라스 분포는 정규 분포에 비해 조금 더 극단적인 분포를 가지는 모양입니다.
아래 과정으로 $logP(\theta)$ 가 변환할 수 있습니다.
이것은 오버피팅 되는 것을 방지하기 위해 손실함수에 가중치들의 절댓값을 L1 규제, 제곱합을 더해주는 L2 규제 식 완벽히 일치합니다.
L1, L2 는 수식으로도 가중치들에 대한 규제 효과를 이해 할 수 있습니다.
https://hyebiness.tistory.com/11
하지만 MAP 관점에서 이해 한다면 다음과 같이 이해할 수 있습니다.
L1 규제는 가중치를 사전에 라플라스 분포로,
L2 규제는 가중치를 사전에 정규 분포로 규정하는 것이다.
그렇기 때문에 L1, L2 규제 상에서 가중치들이 오버피팅 되지 않는 것입니다.
라플라스 분포는 더 정규 분포보다 더 극단적이기 때문에 L1 규제가 가중치들을 0 으로 만들고 중요한 가중치들에 대한 선별 효과를 가진다는 것도 이해할 수 있습니다.
3. MLE vs MAP
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
MLE와 MAP 의 차이는 사전 확률 분포를 고려하느냐 안하느냐의 차이입니다.
일반적으로 딥러닝은 사전 분포를 고려하지 않고 가능도만 최대화 하는 MLE 관점으로 접근해도 좋은 결과를 얻어 낼 수 있습니다. 하지만 학습 데이터가 부족한 경우 가중치의 사전확률을 규정하는 MAP 관점으로 접근하면 오버피팅을 방지하여 더 좋은 결과를 얻을 수 있습니다.
https://recipesds.tistory.com/entry/MLE과-MAP-그리고-회귀방법-최소좌승법-OLS-정규화-Ridge의-랑데뷰
Kp
Subscribe to 'kpmg-lighthouse'
Welcome to 'kpmg-lighthouse'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to 'kpmg-lighthouse'!
Subscribe
😀
1
😍
1
Lighthouse
SELF-RAG: Learning to Retrieve, Generate and Critique Through Self-Reflection
안녕하세요! KPMG 라이트하우스 AI Engineer들은 매주 쏟아지는 LLM 및 모델관련 논문 스터디를 수행하고 실무에 적용해오고 있습니다. 그 중 일부를 발췌하여 여러분들께 공유드립니다. SELF-RAG: Learning to Retrieve, Generate and Critique Through Self-Reflection Abstract LLM은 자체 매개변수 지식에 의존하기 때문에 부정확한 답변을 생성하지만 RAG로 이런 문제를 줄일 수 있음 문서가 관련성이 있는지 확인하지 않은 무분별한 검색과 고정된 수의 검색 문서 통합은 성능을 저하시킴 Self-Reflective Retrieval-Augmented Generation 소개 LM을 on-demand로 상황에 맞게 검색할 수있게 학습시키고, ‘reflection token’을 사용하여 검색한 문서와 생성물을 성찰 reflection token 생성으로 추론 단계에서 LM을 제어하고 다양한 작업 요구사항에 맞춰 LM의 동작을 조정 가능 1. Introduction SELF-RAG: 온디맨드 검색과 self reflection을 통해 LLM의 생성 품질과 정확성 향상 임의의 LM을 end-to-end 방식으로 주어진 작업 입력에 대해 자체 생성 과정을 성찰하도록 학습, 태스크 아웃풋과 중간에 특별한 토큰(reflection token) 출력 Reflection 토큰은 retrieval과 critique 토큰으로 나뉘며 검색 필요성과 생성 성능을 표시
Lighthouse
Unlocking the Potential of LLMOps: A Practical Guide for Industry Application
In the ever-evolving landscape of artificial intelligence, Large Language Model Operations (LLM Ops) are emerging as a game-changer for businesses striving to harness the power of AI. Implementing LLM Ops effectively can propel your company to new heights, but it requires strategic planning and execution. Here are the key secrets to successfully applying LLM Ops in the industry. Understand Your Use Case: Before diving into LLM Ops, clearly define your business objectives and identify the specific problems you aim to solve. Whether it's customer service automation, content generation, or data analysis, a targeted approach ensures that the LLM's capabilities align with your needs. Data is King: Quality data is the backbone of any successful LLM application. Invest in curating, cleaning, and annotating your datasets. Ensure diversity and representativeness to avoid biases and enhance the model's performance across different scenarios. Infrastructure and Scalability: Deploying LLMs demands robust infrastructure. Leverage cloud platforms like AWS, Google Cloud, or Azure, which offer scalable resources tailored for high-computational tasks. This not only facilitates smooth operations but also accommodates future growth and increased workloads. Fine-Tuning and Customization: Generic models often fall short in specialized applications. Fine-tuning your LLM on domain-specific data can significantly improve accuracy and relevance. This step requires expertise but pays dividends in creating models that understand and predict user needs more precisely. Human-in-the-Loop: Integrate human oversight to ensure quality and reliability. Humans can provide critical feedback, correct errors, and introduce nuances that automated systems might miss. This collaborative approach enhances model trustworthiness and effectiveness. Continuous Monitoring and Iteration: LLM Ops is not a set-and-forget operation. Continuous monitoring for performance, biases, and anomalies is essential. Implement feedback loops and regularly update the model with new data to keep it relevant and accurate. Ethical Considerations: Ethics in AI cannot be overstated. Ensure transparency, fairness, and accountability in your LLM applications. Establish guidelines and frameworks to mitigate risks related to privacy, security, and societal impacts. By following these steps, businesses can unlock the full potential of LLM Ops, driving innovation and efficiency in their operations. Embrace the future of AI with confidence and transform your industry through smart, ethical, and effective LLM practices. Use Cases in the Finance Industry Automated Customer Support: LLMs can enhance customer service by providing instant, accurate responses to common inquiries. This reduces the burden on human agents and improves customer satisfaction. Fraud Detection: By analyzing transaction patterns and identifying anomalies, LLMs can help detect fraudulent activities in real-time, providing a layer of security and trust for financial institutions and their customers. Financial Forecasting: LLMs can process vast amounts of historical and real-time data to generate accurate financial forecasts. This aids in strategic planning, risk management, and decision-making.
Eunyoung Lee
LLM 컨텍스트 길이 늘이기
컨텍스트 길이 늘이기 컨텍스트 길이는 언어 모델이 한 번에 처리할 수 있는 토큰의 개수입니다. LLM이 처리할 수 있는 토큰 개수는 한정적이기 때문에 요약 태스크와 같이 긴 텍스트를 다루는 태스크를 위해서는 컨텍스트 길이가 긴 모델을 사용해야 합니다. 예를 들어 LLaMA3의 경우, 컨텍스트 길이가 8192기 때문에 최대 8192개의 토큰까지 밖에 다루지 못하고 더 긴 텍스트가 들어갈 경우 아웃풋 출력을 제대로 하지 못합니다. 또한 트랜스포머 기반 LLM은 메모리 footprint와 계산 시간이 지수적으로 증가하기 때문에 기존 트랜스포머 아키텍처로는 긴 시퀀스를 처리하는 데 비용이 많이 소요됩니다. 컨텍스트 길이가 긴 한국어 LLM을 사용하고자 LLM의 컨텍스트 길이를 효율적으로 늘이기 위해 조사 및 시도해본 다양한 방법들에 대해 알아보겠습니다. 컨텍스트 길이 확장 정리 표 파인튜닝 필요 여부 확장 가능 범위 사용해봤는지 여부 LongLoRA O 8배 파인튜닝 자원 부족 Position Interpolation O 8배
😍👍🏻
2