๋ฐ˜์‘ํ˜•

์ „์ฒด ๊ธ€ 521

๋”ฅ๋Ÿฌ๋‹์˜ ๋ชจ๋“  ํ•ต์‹ฌ ๊ฐœ๋… ์ •๋ฆฌ2

์ตœ์ ํ™” : ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• - ์•ˆ์žฅ์ ์„ ๋งŒ๋‚˜๋ฉด ์น˜์†Œ์ ๊ณผ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๊ณ  ํ•™์Šต์„ ์ข…๋ฃŒํ•˜๋Š”๋ฐ, ์†์‹ค ํ•จ์ˆ˜์˜ ์ฐจ์›์ด ๋†’์•„์งˆ์ˆ˜๋ก ์•ˆ์žฅ์ ์€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋งŽ์•„์ง€๋ฏ€๋กœ ์ตœ์ ํ•ด๋กœ ์ˆ˜๋ ดํ•˜์ง€ ๋ชปํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง„๋‹ค. SGD ๋ชจ๋ฉ˜ํ…€ - ๊ด€์„ฑ์ด ์ž‘์šฉํ•˜๋ฉด ํ•™์Šต ๊ฒฝ๋กœ๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ๋งค๋„๋Ÿฌ์›Œ์ง„๋‹ค. ์˜ค๋ฒ„์ŠˆํŒ…์ด ๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.์ตœ์†Œ์  ์ฃผ๋ณ€์˜ ๊ฒฝ์‚ฌ๊ฐ€ ๊ฐ€ํŒŒ๋ฅด๋ฉด ๋‚ด๋ ค์˜ค๋˜ ์†๋„๊ฐ€ ํฌ๊ธฐ๋•Œ๋ฌธ์— ๋ฐ˜๋Œ€ํŽธ์œผ๋กœ ์˜ค๋ฒ„ ์ŠˆํŒ…์ด ๋œ๋‹ค. ๋„ค์Šคํ…Œ๋กœํ”„ ๋ชจ๋ฉ˜ํ…€ - ๊ด€์„ฑ์ด ์ปค์ง€๋”๋ผ๋„ ์˜ค๋ฒ„์ŠˆํŒ…์ด ๋ ์ง€ ๋ฏธ๋ฆฌ ์‚ดํ”ผ๊ณ  ๊ต์ •ํ•˜๊ธฐ๋•Œ๋ฌธ์— ์˜ค๋ฒ„์ŠˆํŒ…์ด ์–ต์ œ๋œ๋‹ค. AdaGrad - ์†์‹คํ•จ์ˆ˜์˜ ๊ณก๋ฉด ๋ณ€ํ™”์— ๋”ฐ๋ผ ์ ์‘์ ์œผ๋กœ ํ•™์Šต๋ฅ ์„ ์ •ํ•œ๋‹ค. - ํ•™์Šต์ด ์ง„ํ–‰๋ ์ˆ˜๋ก ๊ณก๋ฉด ๋ณ€ํ™”๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์ ์‘์  ํ•™์Šต๋ฅ ์€ ์ ์  ๋‚ฎ์•„์ง„๋‹ค. ๊ฒฝ์‚ฌ๊ฐ€ ๊ฐ€ํŒŒ๋ฅธ ๊ณณ์—์„œ ์ถœ๋ฐœํ•˜๋ฉด ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์ ์‘์  ํ•™์Šต๋ฅ ์ด ๊ธ‰๊ฐํ•ด์„œ ํ•™์Šต..

๋”ฅ๋Ÿฌ๋‹์˜ ๋ชจ๋“  ํ•ต์‹ฌ ๊ฐœ๋… ์ •๋ฆฌ1

๋”ฅ๋Ÿฌ๋‹์ด๋ž€? - ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์ด์šฉํ•ด ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ด€๊ณ„๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฒ•, ํŠน์ง•์„ ์ž๋™์œผ๋กœ ์ถ”์ถœํ•˜๋ฏ€๋กœ ๋ชจ๋ธ ํ™•์žฅ์„ฑ์ด ๋†’์•„ ๋จธ์‹ ๋Ÿฌ๋‹๋ณด๋‹ค ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. - ์ง€๋„ํ•™์Šต, ๋น„์ง€๋„ํ•™์Šต, ๊ฐ•ํ™”ํ•™์Šต์—๋„ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์ด๊ณ  ์žˆ๋‹ค. - ๋‹จ, ๋น„์šฉ๊ณผ ์‹œ๊ฐ„, ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๋‹ค. ์„ค์ •ํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ๋งŽ์•„ ์ตœ์ ํ™”๊ฐ€ ์‰ฝ์ง€ ์•Š๊ณ . ๋””๋ฒ„๊น…๋„ ์–ด๋ ต๋‹ค. ๋˜ํ•œ ํƒ€๊นƒ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ๋„ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค๋Š” ํ•œ๊ฒŒ๊ฐ€ ์žˆ๋‹ค. ์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง(feedforward neural network) - ๋‹ค์ธตํผ์…‰ํŠธ๋ก ์„ ์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง, ํผ์…‰ํŠธ๋ก ์€ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ์ˆœ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค. - ์ˆœ๋ฐฉํ–ฅ ์‹ ๊ฒฝ๋ง์€ ๋‰ด๋Ÿฐ๋“ค์ด ๋ชจ์—ฌ ๊ฒŒ์ธต์„ ์ด..

ํŒŒ์ดํ† ์น˜ ํŒจํ‚ค์ง€ ๊ธฐ๋ณธ ์กฐ์ž‘๋ฒ• ์ตํžˆ๊ธฐ 3 - python ํ–‰๋ ฌ, ํ…์„œ

view - ์›์†Œ์˜ ์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ํ…์„œ์˜ ํฌ๊ธฐ ๋ณ€๊ฒฝ t = np.array([[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]) ft = torch.FloatTensor(t) ft๋ผ๋Š” ์ด๋ฆ„์˜ 3์ฐจ์› ํ…์„œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ(shape)๋ฅผ ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. print(ft.shape) torch.Size([2, 2, 3]) 4-1) 3์ฐจ์› ํ…์„œ์—์„œ 2์ฐจ์› ํ…์„œ๋กœ ๋ณ€๊ฒฝ ์ด์ œ ft ํ…์„œ๋ฅผ view๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ธฐ(shape)๋ฅผ 2์ฐจ์› ํ…์„œ๋กœ ๋ณ€๊ฒฝํ•ด๋ด…์‹œ๋‹ค. print(ft.view([-1, 3])) # ft๋ผ๋Š” ํ…์„œ๋ฅผ (?, 3)์˜ ํฌ๊ธฐ๋กœ ๋ณ€๊ฒฝ print(ft.view([-1, 3]).shape) tensor([[ 0., 1., 2.], [ 3., 4., 5.], [ ..

ํŒŒ์ดํ† ์น˜ ํŒจํ‚ค์ง€ ๊ธฐ๋ณธ ์กฐ์ž‘๋ฒ• ์ตํžˆ๊ธฐ 2 - python ํ–‰๋ ฌ, ํ…์„œ

ํŒŒ์ดํ† ์น˜ ํ…์„œ ์„ ์–ธํ•˜๊ธฐ(PyTorch Tensor Allocation) import torch 1) 1D with PyTorch ํŒŒ์ดํ† ์น˜๋กœ 1์ฐจ์› ํ…์„œ์ธ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด๋ด…์‹œ๋‹ค. t = torch.FloatTensor([0., 1., 2., 3., 4., 5., 6.]) print(t) dim()์„ ์‚ฌ์šฉํ•˜๋ฉด ํ˜„์žฌ ํ…์„œ์˜ ์ฐจ์›์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. shape๋‚˜ size()๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํฌ๊ธฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. print(t.dim()) # rank. ์ฆ‰, ์ฐจ์› print(t.shape) # shape print(t.size()) # shape 1 torch.Size([7]) torch.Size([7]) ํ˜„์žฌ 1์ฐจ์› ํ…์„œ์ด๋ฉฐ, ์›์†Œ๋Š” 7๊ฐœ์ž…๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๊ณผ ์Šฌ๋ผ์ด์‹ฑ์„ ํ•ด๋ด…์‹œ๋‹ค. ๋ฐฉ๋ฒ•์€ Numpy ์‹ค์Šต๊ณผ ..

ํŒŒ์ดํ† ์น˜ ํŒจํ‚ค์ง€ ๊ธฐ๋ณธ ์กฐ์ž‘๋ฒ• ์ตํžˆ๊ธฐ 1 - ํ…์„œ์˜ ๊ตฌ์กฐ

๋”ฅ๋Ÿฌ๋‹์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‹จ์œ„๋Š” ๋ฒกํ„ฐ, ํ–‰๋ ฌ, ํ…์„œ์ž…๋‹ˆ๋‹ค. 1์ฐจ์›์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ’(1D)์€ ๋ฒกํ„ฐ, 2์ฐจ์›์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ฐ’์„ ํ–‰๋ ฌ(Matrix)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  3์ฐจ์›์ด ๋˜๋ฉด ์šฐ๋ฆฌ๋Š” ํ…์„œ(Tensor)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์šฐ๋ฆฌ๋Š” 3์ฐจ์›์˜ ์„ธ์ƒ์— ์‚ด๊ณ  ์žˆ์œผ๋ฏ€๋กœ, 4์ฐจ์› ์ด์ƒ๋ถ€ํ„ฐ๋Š” ๋จธ๋ฆฌ๋กœ ์ƒ๊ฐํ•˜๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. 4์ฐจ์›์€ 3์ฐจ์›์˜ ํ…์„œ๋ฅผ ์œ„๋กœ ์Œ“์•„ ์˜ฌ๋ฆฐ ๋ชจ์Šต์œผ๋กœ ์ƒ์ƒํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 5์ฐจ์›์€ ๊ทธ 4์ฐจ์›์„ ๋‹ค์‹œ ์˜†์œผ๋กœ ํ™•์žฅํ•œ ๋ชจ์Šต์œผ๋กœ ์ƒ๊ฐํ•ด๋ด…์‹œ๋‹ค. 6์ฐจ์›์€ 5์ฐจ์›์„ ๋’ค๋กœ ํ™•์žฅํ•œ ๋ชจ์Šต์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์„œ ์ค‘ ๊ฐ€์žฅ ์ „ํ˜•์ ์ธ 2์ฐจ์› ํ…์„œ๋ฅผ ์˜ˆ์‹œ๋กœ ๋ด…์‹œ๋‹ค. ํ…์„œ์˜ ํฌ๊ธฐ |t| = (Batch size, dim) ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ ํ•˜๋‚˜์˜ ํฌ๊ธฐ๋ฅผ 256์ด๋ผ๊ณ  ํ•ด๋ด…์‹œ๋‹ค. [3, 1, 2, 5, ...] ์ด๋Ÿฐ ์ˆซ์ž๋“ค์˜ ๋‚˜์—ด์ด 25..

๋”ฅ๋Ÿฌ๋‹ ๋ฏธ๋ถ„ ํŽธ๋ฏธ๋ถ„ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•

๋ฏธ๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๊ณ ๋“ฑํ•™๊ต์— ์ž ๊น ๋ฐฐ์› ์—ˆ๋Š”๋ฐ(๋ฌธ๊ณผ ์ถœ์‹ ;;) ๋”ฅ๋Ÿฌ๋‹ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๊ธฐ์šธ๊ธฐ ๊ตฌํ•˜๋ฉด์„œ ์ตœ์ ํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฏธ๋ถ„์ด ์“ฐ์ธ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐœ๋…์€ ์ดํ•ด๋๋Š”๋ฐ ๊ทธ ๊ณผ์ •์„ ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•„ ๋ฏธ๋ถ„๋ถ€ํ„ฐ ์ •๋ฆฌํ•ด๋ณด๋ ค ํ•œ๋‹ค. ๋ฏธ๋ถ„ (differentiation) = ํŠน์ • ํ•œ ์ˆœ๊ฐ„์˜ ๋ณ€ํ™”๋Ÿ‰ ์ฆ‰ , x์— ๋Œ€ํ•œ f(x)์˜ ๋ณ€ํ™”๋Ÿ‰์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์‹์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ ‡๊ฒŒ ๊ณ„์‚ฐํ•˜๋ฉด ๋ฐ˜์˜ฌ๋ฆผ ์˜ค์ฐจ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. h์— ๋„ˆ๋ฌด ์ž‘์€ ๊ฐ’์„ ๋Œ€์ž…ํ•˜๋ฉด ์ปดํ“จํ„ฐ๊ฐ€ ๊ณ„์‚ฐํ•  ๋•Œ ์ƒ๋žตํ•ด๋ฒ„๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ h ๋Š” 10์˜ -4์Šน ์ •๋„๊ฐ€ ์ ๋‹นํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  x+h์™€ x์˜ ์ฐจ๋ถ„(์ž„์˜ ์ฃผ ๋ฒ”์—์„œ์˜ ํ•จ์ˆ˜๊ฐ’์˜ ์ฐจ์ด)๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ๋„ ์˜ค์ฐจ๊ฐ€ ์žˆ๋‹ค. h๋ฅผ ๋ฌดํ•œํžˆ 0์œผ๋กœ ์ขํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ์˜ค์ฐจ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์‹ฌ์ฐจ๋ถ„(์ค‘์•™์ฐจ๋ถ„)์„ ์‚ฌ์šฉํ•˜์—ฌ f(x+h)-f(x-h)์˜..

๋”ฅ๋Ÿฌ๋‹ ์‹ ๊ฒฝ๋ง ํ•™์Šต ์†์‹คํ•จ์ˆ˜(์˜ค์ฐจ์ œ๊ณฑํ•ฉ, ํฌ๋กœ์Šค ์—”ํŠธ๋กœํ”ผ ์˜ค์ฐจ)

๋”ฅ๋Ÿฌ๋‹๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์˜ ์ฐจ์ด? 1. ๋จธ์‹ ๋Ÿฌ๋‹์€ ํŠน์„ฑ(feature)์ด ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ ์žˆ์ง€๋งŒ, ๋”ฅ๋Ÿฌ๋‹์€ ํ•™์Šต์‹œํ‚ค๋ฉด ํŠน์„ฑ์„ ์ถ”์ถœํ•˜๋„๋ก ํ•™์Šต์ด ๋œ๋‹ค. 2. ๋จธ์‹ ๋Ÿฌ๋‹์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ธ ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ์—ฌ๋Ÿฌ ๊ฐœ ์Œ“์•„ ๊นŠ์€ ์‹ ๊ฒฝ๋ง์„ ๋งŒ๋“  ๊ฒƒ์ด ๋”ฅ๋Ÿฌ๋‹์ด๋‹ค. ์‹ ๊ฒฝ๋ง ํ•™์Šต = ์ตœ์ ํ™”๋ฅผ ํ•˜๋Š” ๊ณผ์ • - input์œผ๋กœ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด output์€ ์ตœ์ ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜(๊ฐ€์ค‘์น˜)์ด๋‹ค. ์‹ ๊ฒฝ๋ง ํ•™์Šต ๊ณผ์ • : 1. ๋‚œ์ˆ˜๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฒกํ„ฐ w ์ดˆ๊ธฐํ™” 2. while True: w์— fitํ•˜๊ณ , ์†์‹คํ•จ์ˆ˜ J(w)๊ณ„์‚ฐ (J(w)์˜ ์กฐ๊ฑด, J(w)=0 ์€ ์ •ํ™•๋„๊ฐ€ 100%๋ผ๋Š”์˜๋ฏธ) if J(w)๋งŒ์กฑ์Šค๋Ÿฌ์›€ : break else: w = w+โ–ณw. (์†์‹คํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” โ–ณw ๊ณ„์‚ฐ, ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๊ณผ์ •) w๋ฅผ ์ €์žฅํ•œ๋‹ค. ์†์‹คํ•จ์ˆ˜ - ์†์‹คํ•จ์ˆ˜๊ฐ€ ..

์ธ๊ณต์ง€๋Šฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฐ์ฒด์ง€ํ–ฅ์ด๋ž€

ํŒŒ์ด์ฌ์€ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๋Š” ์„œ๋กœ ๊ด€๋ จ์ด ์žˆ๋Š” ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๋Š” ํด๋ž˜์Šค๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ์‚ดํŽด๋ณด์ž from gtts import gTTS import playsound tts = gTTS(text=news, lang='ko') tts.save("news1.mp3") playsound.playsound("news1.mp3", True) https://pypi.org/project/gTTS/ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ผ๋ฐ˜์  ์ ˆ์ฐจ 1. ๋ชจ๋“ˆ์—์„œ ํด๋ž˜์Šค๋ฅผ ๋ถˆ๋Ÿฌ์˜จ๋‹ค. (import๋กœ ํด๋ž˜์Šค(gTTs)๋ฅผ ๋ถˆ๋Ÿฌ์˜ด) 2, ํด๋ž˜์Šค์˜ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜)๋ฅผ ๋งŒ๋“ ๋‹ค gTTS()๋กœ ํด๋ž˜์Šค์˜ tts๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ฆ 3. ๊ฐ์ฒด์˜ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ž‘์—…์„ ํ•œ๋‹ค. ๊ฐ์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” .save..

์ธ๊ณต์ง€๋Šฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

1. ์–ธ์–ด Python(ํŒŒ์ด์ฌ) ํŠœํ† ๋ฆฌ์–ผ : https://docs.python.org/ko/3/tutorial/index.html 2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ Pypl(ํŒŒ์ดํŒŒ์ด) ๋‹ค์–‘ํ•œ์‚ฌ๋žŒ๋“ค์ด ๊ฐœ๋ฐœํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•œ๊ณณ์— ๋ชจ์•„๋†“์€ ์›น์‚ฌ์ดํŠธ https://pypi.org/ PyPI · The Python Package Index The Python Package Index (PyPI) is a repository of software for the Python programming language. pypi.org 3. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 1๏ธโƒฃ ๋„˜ํŒŒ์ด(Numpy) - 1์ฐจ์› ๋ฒกํ„ฐ, 2์ฐจ์› ํ–‰๋ ฌ ์„ ๋„˜์–ด n์ฐจ์› ๋ฐฐ์—ด๋„ ์ง€์›ํ•จ, ๋ฐฐ์—ด ํ‘œํ˜„, ์—ฐ์‚ฐ ์—ญํ–‰๋ ฌ๊ณผ๊ฐ™์€ ์„ ํ˜•๋Œ€์ˆ˜ ์—ฐ์‚ฐ ๊ธฐ๋Šฅ๋„ ์žˆ์Œ. ์ฃผ๋กœ ํ›ˆ๋ จ ์ง‘ํ•ฉ, ์‹ ๊ฒฝ๋ง์˜ ๊ฐ€์ค‘์น˜, ..

BERT๋กœ ๋‰ด์Šค ๊ธฐ์‚ฌ ์นดํ…Œ๊ณ ๋ฆฌ ๋ถ„๋ฅ˜ํ•˜๊ธฐ

์ž‘์—… ์ธ์› : 1๋ช…, ์†Œ์š”๊ธฐ๊ฐ„ : 1์ผ, ์ž‘์—…ํ™˜๊ฒฝ : google colab, python, KoBERT, ๋ฐ์ดํ„ฐ : ๋‰ด์Šค๊ธฐ์‚ฌ ํ…์Šคํฌ์™€ ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ ์ •ํ™•๋„ 0.847, F1 Score - 0.845 ์ž์—ฐ์–ด์ฒ˜๋ฆฌ์—์„œ ๋ถ„๋ฅ˜์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ์€ ๊ฐ„๋‹จํ•œ RNN, LSTM๋ถ€ํ„ฐ BERT , ๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” KoBERT๋ฅผ ์‚ฌ์šฉํ•ด์„œ Fine-tuningํ•ด๋ณด์•˜๋Š”๋ฐ, KoBERT๋Š” BERT์— ํ•œ๊ตญ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€๋กœ ๋” ํ•™์Šต์‹œํ‚จ ๋ชจ๋ธ๋กœ ํ•œ๊ตญ์–ด์— ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๋งํฌ์—์„œ ๋ชจ๋ธ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/SKTBrain/KoBERT ๋ถ„๋ฅ˜ ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ์ด 6๊ฐ€์ง€ ์ž…๋‹ˆ๋‹ค. ('๊ฒฝ์ œ', '์‚ฌํšŒ', '์ƒํ™œ', '์Šคํฌ์ธ ', '์—ฐ์˜ˆ/๋ฌธํ™”', '์ •์น˜') ์‹คํ–‰ ์ „ ์ฝ”..

์ฝ”๋žฉ(colab) ํŒŒ์ดํ† ์น˜ ํŠœํ† ๋ฆฌ์–ผ, ํ…์„œ ์—ฐ์‚ฐ, AUTOGRAD

์ฝ”๋žฉ์—์„œ ํŒŒ์ดํ† ์น˜ ์‹คํ–‰๋ฐฉ๋ฒ•๊ณผ ๊ธฐ๋ณธ์ ์ธ ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋จผ์ €, ๋Ÿฐํƒ€์ž„์˜ ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•ด์ค๋‹ˆ๋‹ค. ์ƒ๋‹จ ๋ฉ”๋‰ด์—์„œ [๋Ÿฐํƒ€์ž„]->[๋Ÿฐํƒ€์ž„์œ ํ˜•๋ณ€๊ฒฝ]->[ํ•˜๋“œ์›จ์–ด๊ฐ€์†๊ธฐ]->[GPU]๋กœ ๋ณ€๊ฒฝ ์ดํ›„ ์•„๋ž˜์˜ cell์„ ์‹คํ–‰ ์‹œ์ผฐ์„ ๋•Œ, torch.cuda.is_avialable() ๊ฐ’์ด True๊ฐ€ ๋‚˜์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. import torch print(torch.__version__) print(torch.cuda.is_available()) import matplotlib.pyplot as plt import numpy as np import scipy as sp np.set_printoptions(precision=3) np.set_printoptions(suppress=True) PyTorch์—์„œ๋Š” ํ…์„œ๋ผ๋Š” ..

PYTORCH(ํŒŒ์ดํ† ์น˜) cheatsheet

Imports General import torch # root package from torch.utils.data import Dataset, DataLoader # dataset representation and loading Neural Network API import torch.autograd as autograd # computation graph from torch import Tensor # tensor node in the computation graph import torch.nn as nn # neural networks import torch.nn.functional as F # layers, activations and more import torch.optim as optim ..

ํฌํ„ธ์˜ ๊ฒ€์ƒ‰์—”์ง„ ์ž‘๋™ ์›๋ฆฌ, ๊ตฌ๊ธ€์˜ pagerank ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋„ค์ด๋ฒ„๋‚˜ ๊ตฌ๊ธ€๊ฐ™์€ ํฌํ„ธ์—๊ฒ€์ƒ‰์„ ํ•˜๋ฉด 1์ดˆ๋„ ์•ˆ๋ผ์„œ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค. ๊ฒ€์ƒ‰ ์„œ๋น„์Šค๋Š” ์–ด๋–ค ์›๋ฆฌ๋กœ ์ž‘๋™ํ•˜๋Š”๊ฒƒ์ผ๊นŒ? ๊ฒ€์ƒ‰์—”์ง„์ด ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌผ๋ก  ๊ฐ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค๋งˆ๋‹ค ์ฐจ์ด๋Š” ์žˆ๊ฒ ์ง€๋งŒ ์ž‘๋™ ๋ฐฉ์‹์—๋Š” ์ด 3๊ฐ€์ง€ ๋‹จ๊ณ„๊ฐ€ ์žˆ๋‹ค๊ณ  ํ• ์ˆ˜์žˆ๋‹ค. 1. ํฌ๋กค๋ง - Crawling 2. ์ธ๋ฑ์‹ฑ - Indexing 3. ๋žญํ‚น - Ranking 1. ํฌ๋กค๋ง ๋„ค์ด๋ฒ„์˜ ํ™”๋ฉด์„ ๋ณด๋ฉด ๋ฐฐ๋„ˆ ๋ฉ”์ผ ์นดํŽ˜ ๋ธ”๋กœ๊ทธ ์‡ผํ•‘ ๋‰ด์Šค ์ฆ๊ถŒ ๋‚ ์”จ ๋“ฑ๋“ฑ ์ˆ˜๋งŽ์€ ๋งํฌ๋“ค์ด ์ˆจ์–ด์žˆ๋‹ค. ํ™”๋ฉด์˜ ๊ธ€์”จ์—๋Š” ํด๋ฆญํ•˜๋ฉด ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๋Š” ๋งํฌ๋“ค์ด ์ˆจ์–ด์žˆ๋Š”๊ฒƒ์ด๋‹ค. ํฌ๋กค๋ง์€ ์›น ํŽ˜์ด์ง€๋ฅผ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™€์„œ ๊ฑฐ๊ธฐ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ, ํฌ๋กค๋ง์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ด ๋ชจ๋“  ๋งํฌ๋“ค์„ ๋‹ค ๋Œ์•„๋‹ค๋‹ˆ๊ณ  ํŽ˜์ด์ง€ ์•ˆ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ฝ์–ด๋“ค์ด๊ฒŒ ๋œ๋‹ค. ..

์ด๊ฒƒ์ €๊ฒƒ ํ•ด๋ณธ ํ•œ๊ตญ์–ด ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๊ธฐ๋ฒ•๋“ค

๋ถ„๋ฅ˜ ๋ฌธ์ œ์—์„œ ํ•ญ์ƒ ๋งž๋‹ฅ๋œจ๋ฆฌ๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๋Š” ์•„๋ฌด๋ž˜๋„ ๋ฐ์ดํ„ฐ ๋ถˆ๊ท ํ˜•์ด ์•„๋‹๊นŒ ์‹ถ๋‹ค. ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋งŒ ๋„ˆ๋ฌด ๋งŽ๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ์ ์–ด ๋‹ค๋ฅธ ์นดํ…Œ๊ณ ๋ฆฌ์™€ ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ์ƒํ™ฉ์—์„œ ๊ทธ๋Œ€๋กœ ํ•™์Šต์‹œํ‚ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์ ์€ ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋Š” ์ž˜ ๋ถ„๋ฅ˜๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋…ผ๋ฌธ์„ ์“ธ ๋•Œ๋„ ์ฒ˜์Œ์—๋Š” 17๋ถ„๋ฅ˜๋ฅผ ํ•˜๊ณ ์žํ–ˆ์ง€๋งŒ ๋ฐ์ดํ„ฐ ์ฐจ์ด๊ฐ€ ๋„ˆ๋ฌด ์ปค 5๊ฐ€์ง€ ํฐ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆด์—ˆ๋‹ค. ๊ทธ๋ž˜๋„ ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์ด ํ•„์š”ํ•ด์„œ ๋ช‡๊ฐ€์ง€ ํ…Œ์ŠคํŒ…์„ ํ–ˆ๋˜ ๊ธฐ์–ต์ด ๋‚œ๋‹ค. ์•„๋ฌดํŠผ ์ง€๊ธˆ๊นŒ์ง€ ํ•ด๋ณธ ์—ฌ๋Ÿฌ ์‹œ๋„๋“ค์„ ์ •๋ฆฌํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์—์„  ๋Œ€ํ‘œ์ ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ๋„ค๊ฐ€์ง€ ์ฆ๊ฐ• ๊ธฐ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค. - SR (Synonym Replacement): ํŠน์ • ๋‹จ์–ด๋ฅผ ๋น„์Šทํ•œ ์˜๋ฏธ์˜ ์œ ์˜์–ด๋กœ ๊ต์ฒด - RI (Random Insertion): ์ž„์˜์˜ ๋‹จ์–ด๋ฅผ ์‚ฝ์ž… - RS (Random Swap..

์ฝ”๋žฉ์—์„œ mecab ์„ค์น˜ํ•˜๊ธฐ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ ์‹คํ–‰ !pip install konlpy from konlpy.tag import Mecab !git clone https://github.com/SOMJANG/Mecab-ko-for-Google-Colab.git %cd Mecab-ko-for-Google-Colab/ !bash install_mecab-ko_on_colab190912.sh ์‹คํ–‰ ํ›„ ๋งˆ์ง€๋ง‰ ์ค„์„ ๋ณด๋ฉด ๋Ÿฐํƒ€์ž„์„ ์žฌ์‹คํ–‰ํ•˜๋ผ๊ณ  ํ•œ๋‹ค. ์žฌ์‹คํ–‰ํ›„ ์œ„์˜ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  mecab์„ ๋ถˆ๋Ÿฌ์˜ค๋ฉด ๋œ๋‹ค. Successfully Installed Now you can use Mecab from konlpy.tag import Mecab mecab = Mecab() ์‚ฌ์šฉ์ž ์‚ฌ์ „ ์ถ”๊ฐ€ ๋ฐฉ๋ฒ• : https://bit.ly/3k0ZH5..

์‹ ๊ฒฝ๋ง์—์„œ์˜ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ• ๊ตฌํ˜„

์‹ ๊ฒฝ๋ง์€ ํ•™์Šต ์‹œ์— ์ตœ์ ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜(๊ฐ€์ค‘์น˜์™€ ํŽธํ–ฅ)์„ ์ฐพ์•„๋ƒ…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ตœ์ ์ด๋ž€ ์†์‹ค ํ•จ์ˆ˜๊ฐ€ ์ตœ์†Ÿ๊ฐ’์ด ๋  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ณต๊ฐ„์€ ๊ด‘๋Œ€ํ•˜์—ฌ ์–ด๋””๊ฐ€ ์ตœ์†Ÿ๊ฐ’์ธ์ง€ ์ฐพ๊ธฐ ํž˜๋“ญ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ๊ธฐ์šธ๊ธฐ๋ฅผ ์ž˜ ์ด์šฉํ•ด ํ•จ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’ ํ˜น์€ ๊ฐ€์žฅ ๊ทผ์ ‘ํ•œ ๊ฐ’์„ ํ•จ์ˆ˜ ๊ฐ’์„ ์ ์ฐจ ์ค„์ž„์œผ๋กœ์จ ์ฐพ์œผ๋ ค๊ณ  ํ•˜๋Š” ๊ฒƒ์ด ๊ฒฝ์‚ฌ๋ฒ•์ž…๋‹ˆ๋‹ค. η(์—ํƒ€)๋Š” ์‹ ๊ฒฝ๋ง์—์„œ ํ•™์Šต๋ฅ ์ž…๋‹ˆ๋‹ค. ํ•™์Šต๋ฅ ์€ ํ•œ ๋ฒˆ์˜ ํ•™์Šต์œผ๋กœ ์–ผ๋งŒํผ ํ•™์Šตํ•ด์•ผ ํ• ์ง€, ์ฆ‰, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์–ผ๋งˆ๋‹ค ์—…๋ฐ์ดํŠธํ• ์ง€ ์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์œ„ ์‹์ฒ˜๋Ÿผ ๋ณ€์ˆ˜๊ฐ’์„ ๊ฐฑ์‹ ํ•˜๋Š” ๋‹จ๊ณ„๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๊ฑฐ์น˜๋ฉฐ ์„œ์„œํžˆ ํ•จ์ˆ˜์˜ ๊ฐ’์„ ์ค„์ž…๋‹ˆ๋‹ค. ํ•™์Šต๋ฅ ์€ 0.01,0.001๊ณผ ๊ฐ™ใ…Œ์ด ํŠน์ • ๊ฐ’์„ ์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ํฌ๊ฑฐ๋‚˜ ์ž‘์œผ๋ฉด ์ข‹์€ ์žฅ์†Œ๋ฅผ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต์€ ์ด ํ•™์Šต๋ฅ ์„ ๋ณ€๊ฒฝํ•˜๋ฉด์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•™์Šต..

์‹ ๊ฒฝ๋ง ํ•™์Šต - ์†์‹คํ•จ์ˆ˜ ์˜ค์ฐจ์ œ๊ณฑํ•ฉ, ๊ต์ฐจ ์—”ํŠธ๋กœํ”ผ ์˜ค์ฐจ

ํ•™์Šต์ด๋ž€ ํ›ˆ๋ จ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ตœ์ ๊ฐ’์„ ์ž๋™์œผ๋กœ ํš๋“ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•™์Šต์˜ ๋ชฉํ‘œ๋Š” ์†์‹คํ•จ์ˆ˜์˜ ๊ฒฐ๊ด๊ฐ’์„ ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์ด ์žˆ๋‹ค. ์‹ ๊ฒฝ๋ง์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์ธต์„ ๊น๊ฒŒํ•œ ๋”ฅ๋Ÿฌ๋‹์˜ ๊ฒฝ์šฐ ์ˆ˜์–ต ๊ฐœ๋ฅผ ํ›จ์”ฌ ๋„˜์„ ์ˆ˜๋„ ์žˆ๋‹ค ์ด ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ผ์ผ์ด ์ •ํ•ด์ฃผ๊ธฐ๋Š” ํž˜๋“ค๋‹ค. ๋‹คํ–‰ํžˆ, ์‹ ๊ฒฝ๋ง์˜ ํŠน์ง•์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ํ•™์Šตํ•œ๋‹ค๋Š” ๊ฒƒ, ์ฆ‰ ๊ฐ€์ค‘์น˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ์ž๋™์œผ๋กœ ๊ฒฐ์ ˆํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฒˆ์—๋Š” ์‹ ๊ฒฝ๋ง ํ•™์Šต(๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์„ ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  MNIST์…‹์—์„œ ์†๊ธ€์”จ ์ˆซ์ž ํ•™์Šต์„ ๊ตฌํ˜„ํ•ด๋ณด์ž. ์†๊ธ€์”จ์˜ ํŠน์ง•์„ ์‚ฌ๋žŒ๋งˆ๋‹ค ๊ธ€์”จ์ฒด๊ฐ€ ๋‹ฌ๋ผ ์ˆซ์ž๋ฅผ ์ œ๋Œ€๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐ‘๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ์„ค๊ณ„ํ•˜๊ธฐ๋Š” ํž˜๋“ค๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋ฏธ์ง€์—์„œ ํŠน์ง•(ํ”ผ์ฒ˜)๋ฅผ ..

์‹ ๊ฒฝ๋ง ์ถœ๋ ฅ์ธต ๊ตฌํ˜„

์ €๋ฒˆ์‹œ๊ฐ„์— ์–ธ๊ธ‰ํ–ˆ๋“ฏ ์ถœ๋ ฅ์ธต์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๋ถ„๋ฅ˜ -์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜, ํšŒ๊ท€ - ํ•ญ๋“ฑํ•จ์ˆ˜๋กœ ๊ฐˆ๋ฆฐ๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ณ  ๊ตฌํ˜„ํ•ด๋ด…์‹œ๋‹ค. ํ•ญ๋“ฑํ•จ์ˆ˜๋Š” ์ž…๋ ฅ์„ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ๋งฅ์Šค๋Š” ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ชจ๋“  ์ž…๋ ฅ์˜ ํ™”์‚ดํ‘œ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ฆ‰ ๋ชจ๋“  ์ถœ๋ ฅ๋‰ด๋Ÿญ์ด ๊ฐ ์ž…๋ ฅ์‹ ํ˜ธ์—์„œ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. n์€ ์ถœ๋ ฅ์ธต์˜ ๋‰ด๋Ÿฐ ์ˆ˜ , yk๋Š” ๊ทธ์ค‘์—์„œ๋„ k๋ฒˆ์งธ ์ถœ๋ ฅ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค . ์ง€์ˆ˜ํ•จ์ˆ˜ exp()๋Š” ํฐ ๊ฐ’์„ ๋‚ด๋ฑ‰๊ธฐ๋•Œ๋ฌธ์— ์˜ค๋ฒ„ํ”Œ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ž…๋ ฅ์‹ ํ˜ธ ์ค‘ ์ตœ๋Œ“๊ฐ’(c)๋ฅผ ๋บด์ฃผ๊ฒ ์Šต๋‹ˆ๋‹ค. import numpy as np a = np.array([0.3,2.9,4.0]) def softmax(a): c=np.max(a-c) exp_a = np.exp(a) sum_exp_a ..

๋„˜ํŒŒ์ด๋กœ 3์ธต ์‹ ๊ฒฝ๋ง์˜ ์ˆœ๋ฐฉํ–ฅ ๊ณ„์‚ฐ ๊ตฌํ˜„

๊ตฌํ˜„ํ•ด ๋ณผ 3์ธต ์‹ ๊ฒฝ๋ง์€ ์ž…๋ ฅ์ธต(0์ธต) : 2๊ฐœ, ์€๋‹‰์ธต(1์ธต): 3๊ฐœ, ๋‘๋ฒˆ์งธ ์€๋‹‰์ธต(2์ธต): 2๊ฐœ, ์ธจ๋ ฅ์ธต(3์ธต)์€ 2๊ฐœ์˜ ๋‰ด๋Ÿฐ(๋…ธ๋“œ)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์‹ ๊ฒฝ๋ง์—์„œ ์‹ ํ˜ธ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์‚ดํŽด๋ณด์ž ์ž์„ธํžˆ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ํ‘œ๊ธฐ๋ฒ•๋ถ€ํ„ฐ ์งš๊ณ  ๋„˜์–ด๊ฐ€๋ณด์ž, ๊ฐ€์ค‘์น˜์™€ ์€๋Š‘์ธต์˜ ๋‰ด๋Ÿฐ ์œ„์—๋Š” (1)์ด ์ž‘๊ฒŒ ๋ถ™์–ด์žˆ๋‹ค. ์ด๋Š” 1์ธต์˜ ๊ฐ€์ค‘์น˜, 1์ธต์˜ ๋‰ด๋Ÿฐ์„ ๋œปํ•˜๋Š” ๋ฒˆํ˜ธ์ด๋‹ค. ๋˜ ๊ฐ€์ค‘์น˜์˜ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ๋‘ ์ˆซ์ž (1 2)๋Š” ์ฐจ๋ก€๋กœ ๋‹ค์Œ ์ธต ๋‰ด๋Ÿฐ๊ณผ ์•ž์ธต ๋‰ด๋Ÿฐ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์ด๋‹ค. 1 2๋Š” ์•ž์ธต์˜ 2๋ฒˆ์งธ ๋‰ด๋Ÿฐ(x2)์—์„œ ๋‹ค์Œ์ธต์˜ 1๋ฒˆ์งธ ๋‰ด๋Ÿฐ (a1(1)๋กœ ํ–ฅํ•  ๋•Œ์˜ ๊ฐ€์ค‘์น˜๋ผ๋Š” ๋œป์ด๋‹ค. ์ˆœ์„œ๊ฐ€ '๋‹ค์Œ ์ธต ๋ฒˆํ˜ธ, ์•ž ์ธต ๋ฒˆํ˜ธ'์ž„์„ ์žŠ์ง€ ๋ง์ž! ๋‹ค์‹œ ์‹ ํ˜ธ ์ „๋‹ฌ ๊ณผ์ •์„ ๋ณด๋ฉด, ์šฐ์„  ์ถ”๊ฐ€๋œ 1์€ ํŽธํ–ฅ ๋‰ด๋Ÿฐ์ด๋‹ค. ํŽธํ–ฅ์€ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์ธ๋ฑ์Šค๊ฐ€ ํ•˜๋‚˜..

๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•œ ๋„˜ํŒŒ์ด ๋‹ค์ฐจ์› ํ–‰๋ ฌ

๋„˜ํŒŒ์ด๋กœ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ๊ณ„์‚ฐํ• ์ค„ ์•Œ๋ฉด ์‹ ๊ฒฝ๋ง์„ ํšจ์œจ์ ์œผ๋กœ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ์ˆซ์ž์˜ ์ง‘ํ•ฉ์ด ๊ธฐ๋ณธ์ด ๋ฉ๋‹ˆ๋‹ค. ์ˆซ์ž๋ฅผ N์ฐจ์›์œผ๋กœ ๋‚˜์—ดํ•˜๋Š” ๊ฒƒ ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ํ•œ์ค„๋กœ ๋‚˜์—ดํ•˜๋Š”๊ฒƒ๋„ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. 1์ฐจ์› ๋ฐฐ์—ด์€ ์šฐ๋ฆฌ๊ฐ€ ์ตํžˆ ์•Œ๊ณ  ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ์˜ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ์ฐจ์›์ˆ˜๋Š” np.ndim()์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฐ์—ด์˜ ํ˜•์ƒ์€ S.shape๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ฃ  shape๋Š” ํŠœํ”Œ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 2์ฐจ์› ๋ฐฐ์—ด์ผ๋•Œ๋Š” (4,3) 3์ฐจ์›์ผ๋•Œ๋Š” (4,3,2)์™€ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. import numpy as np A = np.array([[1,2],[3,4],[5,6]]) print(A) # [[1 2] # [3 4] # [5 6]] np.ndim(A) #2 A.shape #(3,..

๋ฐ˜์‘ํ˜•