BERT ( Bidirectional Encoder Representations from Transformers )
→ 트랜스포머를 이용하여 구현되었으며, 위키피디아와 Bookscorpus와 같은 레이블이 없는 텍스트
데이터로 사전 훈련 및 파인 튜닝된 언어 모델이다.
→ 2018년에 구글이 공개한 사전 훈련된 모델
→ 등장과 동시에 수많은 NLP 태스크에서 최고 성능을 보여주면서
명실공히 NLP의 한 획을 그은 모델로 평가받는다.
BERT가 높은 성능을 얻을 수 있었던 것은, 레이블이 없는 방대한 데이터로 사전 훈련된 모델을 가지고,
레이블이 있는 다른 Task에서 추가 훈련과 함께 하이퍼파라미터를 재조정하여 이 모델을 사용하면
성능이 높게 나오는 기존의 사례들을 참고하였기 때문이다. 다른 작업에 대해서 파라미터 재조정을 위한
추가 훈련 과정을 파인 튜닝(Fine-tuning)이라고 한다.
BERT의 기본 구조
→ 트랜스포머의 Encoder를 쌓아올린 구조로 구성된다.
→ BERT의 기본 구조는 트랜스포머의 인코더를 쌓아올린 구조입니다. Base 버전에서는 총 12개를 쌓았으며,
Large 버전에서는 총 24개를 쌓았습니다. 그 외에도 Large 버전은 Base 버전보다 d_model의 크기나 셀프 어텐션
헤드(Self Attention Heads)의 수가 더 큽니다. 트랜스포머 인코더 층의 수를 L, d_model의 크기를 D, 셀프 어텐션
헤드의 수를 A라고 하였을 때 각각의 크기는 다음과 같습니다.
→ BERT-Base : L=12, D=768, A=12 : 110M개의 파라미터
→ BERT-Large : L=24, D=1024, A=16 : 340M개의 파라미터
→ 초기 트랜스포머 모델(https://wikidocs.net/31379)이 L=6, D=512, A=8이었다는 것과 비교하면 Base 또한
초기 트랜스포머보다는 큰 네트워크임을 알 수 있습니다. 여기서 BERT-base는 BERT보다 앞서 등장한 Open AI GPT-1과
하이퍼파라미터가 동일한데, 이는 BERT 연구진이 직접적으로 GPT-1과 성능을 비교하기 위해서 GPT-1과 동등한 크기로
BERT-Base를 설계하였기 때문입니다. 반면, BERT-Large는 BERT의 최대 성능을 보여주기 위해 만들어진 모델입니다.
BERT가 세운 기록들은 대부분 BERT-Large를 통해 이루어졌습니다.
출처 : https://wikidocs.net/115055
BERT의 pre-training
→ 위의 그림은 BERT의 논문에 첨부된 그림으로 ELMo와 GPT-1, 그리고 BERT의 구조적인 차이를 보여줍니다.
가장 우측 그림의 ELMo는 정방향 LSTM과 역방향 LSTM을 각각 훈련시키는 방식으로 양방향 언어 모델을 만들었습니다.
가운데 그림의 GPT-1은 트랜스포머의 디코더를 이전 단어들로부터 다음 단어를 예측하는 방식으로 단방향 언어
모델을 만들었습니다. Trm은 트랜스포머를 의미합니다. 단방향(→)으로 설계된 OpenAIGPT와 달리 가장 좌측 그림의
BERT는 화살표가 양방향으로 뻗어나가는 모습을 보여줍니다. 이는 마스크드 언어 모델(Masked Language Model)을 통해
양방향성을 얻었기 때문입니다. BERT의 사전 훈련 방법은 크게 두 가지로 나뉩니다. 첫번째는 마스크드 언어 모델이고,
두번째는 다음 문장 예측(Next sentence prediction, NSP)입니다.
논문에 따르면 BERT는 BookCorpus(8억 단어)와 위키피디아(25억 단어)로 학습되었습니다.
코호트, 잔존률 분석
AARRR
Acquistion = 어떻게 우리 서비스를 접하고 있는가
Activation = 처음 서비스를 이용할 때 긍정적인 경험을 제공하는가
Retention = 이후 서비스 재사용률은 어떻게 되는가
Referral = 자발적 바이럴, 공유를 일으키는가
Revenue = 최종 매출으로 연결되고 있는가
코호트 분석
분석 전에 데이터 세트의 데이터를 관련 그룹으로 나누는 일종의 행동 분석
일반적으로 정의된 시간 범위 내에서 공통된 특성이나 경험을 공유
패턴을 분석하여 회사는 특정 집단에 맞게 서비스를 조정 가능
→ 시간집단
시간집단은 특정 기간 동안 제품이나 서비스에 가입한 고객.
회사의 제품이나 서비스를 사용하기 시작한 시점을 기준으로 고객 행동 분석 가능
→ 행동집단
과거에 제품을 구매했거나 서비스에 가입한 고객
기본 서비스에 가입한 고객은 고급 서비스에 가입한 고객층과 다른 요구 사항이 있을 수 있음
다양한 세그먼트의 고객층 분석과 함께 그에 맞는 서비스 설계 가능
→ 규모집단
회사의 제품이나 서비스를 구매하는 다양한 규모의 고객
특정 기간의 제품 구입 금액, 서비스 이용 금액 등을 기반으로 집단을 나누어 분석 가능