IPFS: INTERPLANETARY FILE SYSTEM
MẠNG PHAI XUYÊN HÀNHTINH
IPFS là một sángtác cộngdồng của các anh Bương tinhhoa, dặng nhânzân còcon chúng mình cothe tung thôngtin lên mạng trầngian, mà không phải thuê Hosting Server.
Các phai {files} tung vào IPFS network sẽ chủdộng yêucầu tậpdoàn anhem IPFS hảotâm lưutrữ zùm. Khi nao chúng mình hảotâm, thì chúng mình cũng.
Phai của IPFS network dịnhvị bằng mãhóa Hash nộizung nó, kêu là CID, dảmbảo toàn mạng không có phai trùng ID. Việc tìm-soát hay nom-dọc và côngtách phai, cũng zựa theo CID.
Phai IPFS hoàntoàn côngcộng và transparent, không riêngtư kíndáo.
Hiệutrưởng Zì Anh Bwcng {an-hoàng-trung-tướng} sẽ zạy Anh Bò cách chơi IPFS ngay below.
1. Download IPFS Command Line Tool
App này dóng cho mọi máybàn và máydùi, nhõn 1 phai, không cần installer.
Download Link https://dist.ipfs.io/#go-ipfs
Anh Bò, nếu ngudộn và tayngang và manzi hènmọn, thì cothe zùng bản giaoziện GUI "click-to-run". Nhưng hiệutrưởng không ưng.
Unzip gói App download above vào 1 thưmục gọngàng, chảzụ C:/IPFS, và setup Path cho thưmục dó, dặng gọi-thì-chạy-ngay.
2. Test IPFS Command Line Tool
Anh Bò nếu zùng MS Windows thì bật My Computer aka Windows Explorer, nhảy vào một thưmục "test" somewhere, gòy bung ông Command Window, bằng cách phạng-giữ phím Shift và nhích chuột-phải aka shift-right-click.
Hoặc dánh Run & Cmd. Cách này hiệutrưởng không ưng.
Nếu zùng Linux, thì bung một Terminal Window, tươngdương.
Chạy command ipfs version
Anh Bò nghe thôngbáo something tạng ipfs version 0.4.23, nghĩa là IPFS App dã chạy ngoan. Nếu chưa, thì nên check Path settings.
3. Chọn phai phóng vào IPFS network
Cứ trong Command Window above, Anh Bò tạo phai Hello.txt như sau.
Chạy command echo Fuck IPFS > Hello.txt
Phai Hello.txt sẽ dược tạo, nộizung gồm nhõn zòng Fuck IPFS.
Anh Bò nếu có phai khác, ảnh hay phim hay gì-tùy-thích, thì xài luôn, khỏi tạo.
4. Phóng phai vào IPFS network
Chạy command ipfs add Hello.txt
Anh Bò sẽ nghe thôngbáo something tạng added QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj Hello.txt
Mừng Anh Bò phóng phai thànhcông và thamgia mạng phai-xuyên-hànhtinh. Quả Hash zài như thòng QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj chính là CID của phai Hello.txt thưa anh.
5. Check phai thamgia IPFS network
Anh Bò nên zùng Daemon Server của chính IPFS App above.
Chạy command ipfs daemon
Bật any browser dặng review phai của mình tại:
http://localhost:8080/ipfs/QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj
Anh Bò nom zòng QmXXXX sau con /ipfs/ không? CID dó thưa anh.
Không thích Local Daemon, thì Anh Bò cothe review phai mình qua any web IPFS côngcộng, tạng:
http://dweb.link/ipfs/QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj
6. Nom và gọi phai từ IPFS network
Như mục (5), Anh Bò cothe nom hay nạp any phai IPFS qua Local Daemon, cần nắm nhõn CID.
Và dây là banner của Asinerum Project hoànvõ trứzanh:
http://localhost:8080/ipfs/QmcCowxPhkCAQJteUVx6QFPNdUr4izCTKX5L98LhuGFUHf
7. Phóng nguyên thưmục vào IPFS network
Anh Bò học tự nha. Nhác thì cắn cứt dcm anh.
IPFS là một sángtác cộngdồng của các anh Bương tinhhoa, dặng nhânzân còcon chúng mình cothe tung thôngtin lên mạng trầngian, mà không phải thuê Hosting Server.
Các phai {files} tung vào IPFS network sẽ chủdộng yêucầu tậpdoàn anhem IPFS hảotâm lưutrữ zùm. Khi nao chúng mình hảotâm, thì chúng mình cũng.
Phai của IPFS network dịnhvị bằng mãhóa Hash nộizung nó, kêu là CID, dảmbảo toàn mạng không có phai trùng ID. Việc tìm-soát hay nom-dọc và côngtách phai, cũng zựa theo CID.
Phai IPFS hoàntoàn côngcộng và transparent, không riêngtư kíndáo.
Hiệutrưởng Zì Anh Bwcng {an-hoàng-trung-tướng} sẽ zạy Anh Bò cách chơi IPFS ngay below.
1. Download IPFS Command Line Tool
App này dóng cho mọi máybàn và máydùi, nhõn 1 phai, không cần installer.
Download Link https://dist.ipfs.io/#go-ipfs
Anh Bò, nếu ngudộn và tayngang và manzi hènmọn, thì cothe zùng bản giaoziện GUI "click-to-run". Nhưng hiệutrưởng không ưng.
Unzip gói App download above vào 1 thưmục gọngàng, chảzụ C:/IPFS, và setup Path cho thưmục dó, dặng gọi-thì-chạy-ngay.
2. Test IPFS Command Line Tool
Anh Bò nếu zùng MS Windows thì bật My Computer aka Windows Explorer, nhảy vào một thưmục "test" somewhere, gòy bung ông Command Window, bằng cách phạng-giữ phím Shift và nhích chuột-phải aka shift-right-click.
Hoặc dánh Run & Cmd. Cách này hiệutrưởng không ưng.
Nếu zùng Linux, thì bung một Terminal Window, tươngdương.
Chạy command ipfs version
Anh Bò nghe thôngbáo something tạng ipfs version 0.4.23, nghĩa là IPFS App dã chạy ngoan. Nếu chưa, thì nên check Path settings.
3. Chọn phai phóng vào IPFS network
Cứ trong Command Window above, Anh Bò tạo phai Hello.txt như sau.
Chạy command echo Fuck IPFS > Hello.txt
Phai Hello.txt sẽ dược tạo, nộizung gồm nhõn zòng Fuck IPFS.
Anh Bò nếu có phai khác, ảnh hay phim hay gì-tùy-thích, thì xài luôn, khỏi tạo.
4. Phóng phai vào IPFS network
Chạy command ipfs add Hello.txt
Anh Bò sẽ nghe thôngbáo something tạng added QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj Hello.txt
Mừng Anh Bò phóng phai thànhcông và thamgia mạng phai-xuyên-hànhtinh. Quả Hash zài như thòng QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj chính là CID của phai Hello.txt thưa anh.
5. Check phai thamgia IPFS network
Anh Bò nên zùng Daemon Server của chính IPFS App above.
Chạy command ipfs daemon
Bật any browser dặng review phai của mình tại:
http://localhost:8080/ipfs/QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj
Anh Bò nom zòng QmXXXX sau con /ipfs/ không? CID dó thưa anh.
Không thích Local Daemon, thì Anh Bò cothe review phai mình qua any web IPFS côngcộng, tạng:
http://dweb.link/ipfs/QmQB2RAPv3ZKm3wf9o4y21pHaY2whx6hyVSFswKuQLGdyj
6. Nom và gọi phai từ IPFS network
Như mục (5), Anh Bò cothe nom hay nạp any phai IPFS qua Local Daemon, cần nắm nhõn CID.
Và dây là banner của Asinerum Project hoànvõ trứzanh:
http://localhost:8080/ipfs/QmcCowxPhkCAQJteUVx6QFPNdUr4izCTKX5L98LhuGFUHf
7. Phóng nguyên thưmục vào IPFS network
Anh Bò học tự nha. Nhác thì cắn cứt dcm anh.
Comments
3,514 comments
Page:Thiên cơ
Trong học máy, công việc chính của chúng mình đó là làm sao làm bé hàm mất mát càng nhiều càng tốt. ĐCM, hàm mất mát trong ML, thường làm hàm có chứa trăm ngàn biến, nên vì thế thằng gradient- descent phải vào cuộc.
Tuy nhiên để minh họa anh sẽ thi triển gradient descent cho thằng hàm số hai biến: x^2 + y^2. Thằng x^2 + y^2.Con này có giá trị cực tiểu bằng 0 khi x = y = 0. ĐCM, con nào thắc mắc điều này, mời về học lại lớp 1, hoặc bảo con Lói giải thích cho.
Ý tưởng chính của gradient descent là gì. ĐCM, tưởng tượng chúng mình đứng trên một điểm bất kỳ tại lưng núi, làm thế nào để đi xuống chân núi nhanh nhất vậy ta ?. Đáp án là, đi ngược mẹ hướng gradient, sẽ giúp chúng mình xuống núi nhanh nhất. ĐCM, cái này chúng mình cứ chấp nhận, đéo cần phải hiểu. Con nào muốn hiểu mời inbox anh cộng chuyển xèng boa, anh sẽ giải thích rõ.
Vậy gradient của thằng x^2 + y^2 lại rất đơn giản, nó chính là vector (2*x, 2*y), tại sao như vậy mời về học lại lớp 1, hoặc bảo con Lói giải thích cho. Chả dụ, chúng mình đứng tại điểm (1,1) tại lưng núi. Hướng gradient tại điểm đó là (2,2), ngược hướng gradient chính là (-2,-2). Chúng mình đi theo hướng (-2,-2) sẽ xuống núi nhanh nhất.
Thiên cơ
OK, hiện giờ chúng mình đứng tại điểm (1,1) và đã biết là với mỗi bước chân, chúng mình đi theo hướng (-2,-2) sẽ xuống núi nhanh nhất. Nhưng quan trọng là, mỗi bước chân chúng mình bước bao xa để xuống núi nhanh nhất ?
Chả dụ, nếu mỗi bước chân chúng mình đi 3 mét, thì sau một bước đó chúng mình sẽ đến điểm:
(1, 1) + 3*(-2,-2) = (-5,-5). Tại điểm (-5,-5) mới này, chúng mình sẽ lại đi ngược hướng gradient tiếp aka đi theo hướng (-2*x, -2*y) = (10,10). And so on.
Nếu mỗi bước chân chúng mình đi có 1 mét, thì sau một bước chúng mình sẽ đến điểm:
(1,1) + 1*(-2,-2) = (-1,-1). Tại điểm (-1,-1) mới này, chúng mình sẽ lại đi ngược hướng gradient tiếp aka đi theo hướng (-2*x, -2*y) = (2,2). And so on.
Bước chân dài nhanh quá thì lạc mẹ hướng, bước chân ngắn quá thì đi như rùa bò. Vì thế chúng mình phải bước chân sao cho hợp lý. Trong học máy, bọn nó gọi độ dài bước chân là learning rate, nhưng anh quen gọi nó là step hehe.
Khi thực hành, chúng mình sẽ thử hú họa từng bước chân, chả dụ nếu bước chân dài 0.1 mà chậm quá thì tăng thành 1, thành 10. Nếu bước chân 0.1 mà đi nhanh quá, thì lại giảm thành mẹ 0.01, so on,....
Tuy vậy hehe, chúng mình có cách chọn bước chân hẳn hoi mà đéo phải thử hú họa, đcm mời gúc " Wolf conditions gradient descent", "backtracking line search gradient descent". Cái này phải phụ thuốc vào bài toán cụ thể, đcm cá nhân anh thường luôn chơi backtracking line search, và thử hú họa từng bước chân cụ thể.
Thiên cơ
Hết mẹ phần lý thuyết, giờ là phần thực hành, mời chúng cô sử dụng jupyter notebook, đặng implementation và quan sát ảnh cho tiện.
Khai báo thư viện.
import numpy as np
import matplotlib.pyplot as plt
Hàm cost function chọn đơn giản là x^2 + y^2. Gradient của nó là (2*x, 2*y)
def cost(point):
x = point[0]
y = point[1]
return x**2 + y**2
def gradient_cost(point):
x = point[0]
y = point[1]
dx = 2*x
dy = 2*y
return np.array([dx,dy])
Thiên cơ
Tiếp theo giờ là phần, visualization. Anh sẽ vẽ contour line aka đường đồng mức của hàm số x^2 + y^2. Đường đồng mức trong địa lý là gì, mời về đọc lại sách lớp 1 cũng, hoặc hỏi cô Chai ý, con này làm nghề địa chính thì phải ?
def plot_contour(a, b, c, d, f, ax):
delta = 0.05
x0, x1 = np.meshgrid(np.arange(a, b, delta), np.arange(c, d, delta))
ax.contour(x0, x1, f((x0, x1)), 100)
fig, ax = plt.subplots()
plot_contour(-7, 7, -7, 7, cost, ax)
Khoảng trời của chúng mình chỉ trong đoạn -7 <= x,y <= 7.
Sau khi plot xong jupiter sẽ cho cái ảnh như này:
[img=https://i.ibb.co/CbDVm9s/contour.png]
Thiên cơ
ĐCM, giờ thuật toán xuống dốc trứ danh aka tại mỗi điểm đi theo hướng đạo hàm và với mỗi bước chân được chọn. Và chúng mình sẽ đi bao nhiêu bước chân aka iteration.
def gradient_descent(grad,step, x, iteration):
points = [x]
for i in range(1,iteration):
new = points[i-1] - np.dot(step, grad(points[i-1]))
points.append(new)
return np.array(points)
Thiên cơ
Cuối cùng, giờ là phần quan sát hình động quá trình xuống núi, sau mỗi bước chân.
def plot_trace(trace, steps, f, ax):
for i, (x0, x1) in enumerate(trace):
ax.scatter(x0, x1, color='red', marker='+')
ax.set_title('Iteration {}; step = {:.5f}; cost = {:.5f}'.format(i+1, steps[i], f((x0, x1))))
fig.canvas.draw()
fig, ax = plt.subplots()
plt.ion()
trace = gradient_descent(gradient_cost, 0.01, [4, 5], 100)
plot_contour(-7, 7 , -7, 7, loss, ax)
plot_trace(trace, [0.01] * len(trace),loss, ax)
Chúng mình xuất phát tại điểm có tọa độ (4,5) và đi 100 bước ngược hướng đạo hàm, mỗi bước dài 0.01.
tại juputernote book, ổng cho quả hình động mô phỏng quá trình chuyển động, kết quả cuối cùng đây:
[img=https://i.ibb.co/kHgpC3Y/gra.png]
Sau 100 bước, chúng mình đã đi xuống khá gần chân núi. ĐCM, hàm mất mát x^2 + y^2 quá đơn giản nên việc chọn learning rate aka step cho bài này đéo quan trọng.
Thiên cơ
Giờ là phần gradient descent stochastic, thuật toán xuống dốc ứng dụng phương pháp monte carlo. Cô nào hay đánh học máy, thì hẳn biết con này quan trọng trong thực hành như thế nào.
Tại sao lại cần đến gradient môn tê các lô nó khi chúng mình đã có gradient descent trứ danh ?
Lý do là, trong thực hành, chúng mình phải đánh môt con hàm cỡ hàng trăm ngàn biến. Lấy ví dụ luôn, con hàm :
x1^2 + x2^2 +....+ x100^2. Con hàm này 100 biến, và giá trị nhỏ nhất của nó cũng chính là 0, còn nào thắc mắc mời về đọc lại sách lớp 1. Gradient của nó là vector 100 thành phần (2*x1, 2*x2,..., 2*x100)
Nếu chúng mình, đánh gradient descent cổ điển, thì code vừa dài mà máy nó cũng đéo chạy được, cáy đcm. Vậy chúng mình phải làm sao ?
Đơn giản thôi, thay vì đánh cả cụm 100 biến, chúng mình sẽ đánh từng cụm nhỏ ví dụ đánh cụm x1,x2,x3 thôi. Thuật ngữ bọn học máy gọi là mini-batch. Size của mini batch cho trường hợp x1,x2,x3 chính là 3. Chọn size cho mini-batch như nào, chúng mình sẽ phụ thộc vào bài toán, có thể 5,10, thậm chí size là 1.
Ví dụ nhé, xuất phát tại điểm (1,1,...,1) (100 thằng 1) thay vì đi theo hướng (2,2,....2) (100 thằng 2), nếu mini batch là x1,x2,x3 có aka size của batch là 3, thì chúng mình sẽ chỉ đi theo hướng (2,2,2, 0,0,..,0), aka 97 hướng còn lại giữ nguyên đéo đi.
Nhưng tại sao phải đánh mông tê các lô khi chọn batch. Đơn giản thôi, anh vẫn nhớ lời ZÌ năm xưa khi giảng về mông tê các lô:
"ĐCM khi chúng mình đéo biết chọn gì, thì cách tốt nhất là chọn mẹ hú họa"
Câu này đúng cho cả cuộc sống, chứ đéo phải trong mỗi học máy nhỉ hehe.
Và chúng mình sẽ chọn mini batch hú họa sau khi đã fixed size của nó. Chả dụ chúng mình fixed size batch là 3, thì sau bước chọn hú họa thứ nhất, chúng mình chọn được 3 thằng x2, x50, x6 và đi theo chúng, sau bước hú họa tiếp theo chúng mình lại chọn được được x1, x100, x10 và đi theo chúng, so on so forth.
Relax đi các cô, ý tưởng này đơn giản thôi mà, think about it like: Để thăm dò ý kiến dân mẽo về Trăm chủ tịch, đéo ai phỏng vấn toàn bộ 300 trẹo thằng mẽo, mà chúng mình chỉ phỏng vấn một đám nhỏ ngẫu nhiên trong số 300 triệu thằng mẽo thôi mà, đúng ko ?
Bài tập về nhà cho các cô, dùng đoạn code của anh bốt above, kết hợp mông tê các lô gradient mà anh vừa giảng, để tim xấp xỉ giá trị nhỏ nhất của thằng x1^2 + x2^2 +..+ x100^2 (100 biến).
Thiên cơ
Buổi học hôm nay đến đây là kết thúc. Từ rày trở sau, anh sẽ đéo bao giờ nhắc lại gradient descent là cái gì nữa, mà chơi mẹ thư viện luôn. Con nào quên ráng chịu.
Anh Hùng Bàn Phím
Ref: Thiên cơ (4565)
Lạy anh Thiên Cơ anh có mở lớp dạy bên ngoài không anh dạy cho tôi với. Đọc bài giảng anh cứ thun thút thun thút thôi.
vnusaengland nguyen
Ref: Anh Hùng Bàn Phím (4566)
Còn anh đọc cứ thútthít thútthít, cáy DCM, sao ngoài Trung-Hiệutrưởng ra còn có con giảng giảithuật ngoan thế ta.
PS: Con Cơ bên Bương-không-Bướng mà, sao dạy anh Bê được.
An Phong
Ref: Asinerum Project Commander (4540)
Hehe Zì nói đúng, Winrar có thu xèng, nhưng thực ra sau 30 ngày mà không mua license thì mỗi lần dùng chúng chỉ nhắc một câu, còn lại vẫn cho batoong dùng. Chẳng thà để batoong xài chùa còn hơn đẩy batoong đi dùng thứ miễn phí khác. Ngay cả anh MS, đâu khó gì để chúng phát hiện ra máy Giùn nào đang xài chùa Windows rồi khóa lại, khi mà chúng Giùn vẫn luôn phải online. Nhưng làm vậy với những đối tượng nhất định không trả tiền hay không có khả năng trả tiền chẳng ích lợi gì, mà còn mất đi độ phổ cập của phần mềm, và biết đâu, là khách hàng tương lai.
không ai sất
Ref:
Anh đọc nhời Trung tướng mặc dù đéo hiểu gì nhưng vẫn vào thun thút. Thật kỳlạ
vnusaengland nguyen
Chắc Zì bận đéo có thờigian chấm Vè đâu, tựthaymặt Zì anh chấm như sau, để chúng mình còn chuyển qua món-mới:
- Giải 1: Mỡ mũmmĩm
- Giải 2: Mìng mềnhmàng {Day-dreaming}
- Giải 3: Zì zữzội
Mặczù bài giải 3 không thamzự Vè nhưng vẫn hehe bắt nhận giải, vì nom thuậnpha và có địnhnghĩa nghe hayhay [cáu như bò ỉa xuống hố].
Các bài còn lại, có bài hơihay có bài quádở, đều là giải khuyếnkhích aka chúc-bạn-may-mắn-lần-sau.
PS: anh chấm theo tính kháchquan của anh nhưng không nhấtthiết trái với số điểm các bài trên đạt được. Các anh Bò và Zì không chịu thì thoy, hehe.
Giùn gộc
Ref: Asinerum Project Commander (4525)
Khác nhau chứ, Zì,
Con Cò, bán cù-pheo cho bù-đụi face-to-face, cắn nằm cùng mâm bao-nhiêu mùa.
Zì, bán cù-pheo (?) online, bựa và tàu-ngầm chửa một lần giáp mặt.
Giùn, làm đéo có đức-tin.
chocoquang
Ref: Lìu Tìu (4552)
anh LiuTiu đã đoán đúng hoàn cảnh của tôi. Cám ơn anh đã cho lời khuyên thích hợp, tôi sẽ áp dụng hàm IF để bảo vệ phần mềm của mình. Trường hợp con nào decode file EXE, xem được source code của tôi, thì đã có hardver key, học hỏi được qua các comment trả lời từ Zì kính yêu. Áp dụng cả 2, cho máu.
Bây giờ tôi phải cài Win10 để test code của mình, tất nhiên là bản Win ăn cắp hihi.
Gia Ngua
@Zì
Áp dụng ổng mần con Bot trade liệu có ăn được không thưa Zì. Bọn bot trade hiện tại thấy hình như toàn như loz.
Chị Bương Cảnhsátviên
Zì ơi hết 5 ngảy rồi, Zì mở khóa mõm Chị zới.
không ai sất
Zì anh Bương kèn to ơi,
Mở khóa cho Chị Lói cảnh sát viên đi, cho mụ mủ vào hủ hóa với. Chị lói biên hay vcl.
Chị Bương Cảnhsátviên
Test hehehe
Chị Bương Cảnhsátviên
Hehe đa tạ Zì tháo khóa mõm chó.
Hôm nay, Chị biên về hahaha Nghệ thuật nện (strike not fuck) gái HAHAHA
Ở đây, con nào từng đấm gái?
Khi đấm gái, chúng cô nhớ là phải đấm thẳng mõm nó, nghe chưa? Có thể nó sẽ rụng vài răng, đéo sao hết, mai cho nó tiền đi trồng răng sứ càng đẹp.
[img=https://thumbs.dreamstime.com/z/punch-face-street-fight-young-angry-caucasian-man-88657545.jpg]
Tuy nhiên, đấm gái có cái hại, là cỏn dễ ngã đập đầu lâu về phía sau, gây án mạng không cần thiết.
Nên, Chị khuyên chúng cô chỉ nên tát gái, giống anh Núi aka Xuân Bấc:
[youtube=https://www.youtube.com/watch?v=fEGAUY7xQJE]
Gái, cũng như chó, khi chúng đang sủa, mà ăn nhát tát, là câm như chó ngay hahaha.
Bọn chó bú cặc chúng cô, đọc cồng này của Chị sướng không? Sướng quá đi chứ lị hehe con nầu chối là xạo lồn nghe hông mậy?
[img=https://media.giphy.com/media/p0RDMJGgMXF96/giphy.gif]
Chị Bương Cảnhsátviên
Chị giảng tiếp về diễn biến tâm lý gái trước khi đá chúng cô hahaha.
Trước khi giảng tới đó, chị lại nói về khái niệm Monkey Branching aka Khỉ chuyền cành.
[img=https://scontent.fsgn5-5.fna.fbcdn.net/v/t1.0-9/96127935_332422344391672_7917136357447696384_n.jpg]
Ông khỉ khi chuẩn bị chuyền sang cành cây khác, một tay của nó vẫn phải nắm vững cành cây bên này, khi nào chắc chắn về cành bên kia thì nó mới BUÔNG cả hai tay.
Gái cũng vậy.
Đéo bao giờ có chuyện gái rời bỏ một mối quan hệ nếu gái chưa tìm được mối khác ngon hơn - dù gái đéo còn yêu chúng cô hehe.
(còn, ngắt mẹ cồng)
Chị Bương Cảnhsátviên
(tiếp cồng)
Và chính trong cái "giai đoạn chờ chuyền cành" này, là lúc thằng đàn ông nhận ra có gì đó "sai sai" trong mối quan hệ, thể hiện qua những biểu hiện từ phía gái như:
1- Ngủ riêng.
2- Không còn thể hiện sự quan tâm, yêu thương, chăm sóc chúng cô.
3- Không cho chúng cô SEX (cái này rất quan trọng. Khi gái hết yêu, gái không muốn địt chúng cô anymore).
Nhưng rất tiếc, khi chúng cô nhận ra những biểu hiện này, thì mọi chuyện gần như đã quá muộn màng.
Vì thế, đây cũng là giai đoạn thằng đàn ông dễ phạm những sai lầm "kinh điển" như khóc lóc, năn nỉ, van xin, hạ mình, níu kéo... Nhưng làm thế cũng như dùng dầu hỏa để dập lửa. Càng làm, chúng cô chỉ càng khiến gái cảm thấy KINH TỞM, CĂM GHÉT, KHINH BỈ và CĂNG THẲNG cho đến khi lời TUYÊN BỐ CHIA TAY CHÍNH THỨC được gái đưa ra.
(còn, ngắt mẹ cồng)
HAHAHA
Chị Bương Cảnhsátviên
Ref: Chị Bương Cảnhsátviên (4589)
Bốt lại ảnh ông khỉ chuyền cành aka Monkey Branching hahaha
[img=https://sydneymgtow.com/wp-content/uploads/YouTube-DXcXEX9E7dg.jpg]
Chị Bương Cảnhsátviên
(tiếp cồng)
Đọc đến đây, chúng cô hẳn đã hiểu diễn biến tâm lý gái trước khi đá chúng cô như đá ông chó ghẻ, rồi chứ?
Nhiều cô than "Sao hôm qua vửa đi du lịch cùng nhau, hai đứa còn vẽ ra bao hình ảnh ngôi nhà và những đứa trẻ, mà hôm nay gái đã đá em huhuhu"
Thật ra, một lần nữa, do chúng cô đéo hiểu gì về gái thôi.
Không bao giờ có chuyện gái thức dậy một buổi sáng và bất chợt nghĩ rằng họ cần phải chia tay chúng cô đâu. Đéo bao giờ.
Sự thật là, trước đó nhiều tuần, thậm chí nhiều tháng, gái ĐÃ CHIA TAY với chúng cô Ở TRONG ĐẦU của gái rồi.
Chúng cô hiểu ý Chị không? Trong tinh thần, gái TỪ LÂU ĐÃ KHÔNG XEM chúng cô LÀ NGƯỜI YÊU rồi.
Lý do chủ yếu khiến gái CHƯA đưa ra TUYÊN BỐ CHIA TAY CHÍNH THỨC, là vì (trong đa số trường hợp, >95%, không phải tất cả) gái chưa tìm được THẰNG KHÁC NGON HƠN (hay ít nhất là một thằng mà gái NGHĨ là ngon hơn) để thế chỗ chúng cô.
Hehe
Chị Bương Cảnhsátviên
Nên, trong mối quan hệ với gái, việc yêu thương, tôn trọng và nuông chìu gái là cần thiết.
NHƯNG, chúng cô KHÔNG ĐƯỢC hehe đầu tư (invest) cho gái nhiều hơn mức chúng cô invest cho bản thân mình.
Đơn giản, vì nếu chúng cô chỉ lo invest cho gái, thì đến lúc nào đó, level của gái cao hơn level của chúng cô, ẻm sẽ đá chúng cô. Ngược lại, nếu chúng cô luôn invest cho mình nhiều hơn mức invest cho gái, level của ẻm luôn thấp hơn level chúng cô, khi đó ẻm sẽ không có nhiều lý do lắm để hehe đá chúng cô.
Đọc hết bài này, con nào đủ thông minh sẽ nhận ra, tình yêu của gái không gắn với khái niệm "chung thủy", mà luôn gắn với:
1- Cảm xúc các cô mang lại cho họ.
2- Những tài nguyên các cô có thể cung ứng cho họ.
Bất cứ khi nào một trong hai, hoặc cả hai, điều kiện này không được các cô đáp ứng, hoặc được đáp ứng nhưng không đủ mức gái mong muốn, chúng 100% SẼ BỎ các cô. Không có ngoại lệ.
Và điều này là BÌNH THƯỜNG. Không sao hết. Gái được Chúa lập trình như vậy từ thời nguyên thủy đến nay rồi. Đừng trách họ, và hãy chấp nhận điều đó như một thực tế hiển nhiên.
không ai sất
Ref: Chị Lói
Mời chị cầm míc tiếp. sau khi đấm vỡ mồm gái rồi đưa gái đi bệnh viện hay tự săn sóc tại gia?
An Phong
Ref: không ai sất (4594)
Chém thế thôi chứ đã dám làm bao giờ đâu mà Cô hỏi, hehehe.
Gamo
AML Bương biên hay rất dcm anh.
Nhưng anh ngatcong xuongdong tý đi dcm anh
Như
thế
này này. dcm anh
Hoàng Cương
Con Cò hỏi thật đó, rất cầu thị, chứ đéo phải khoe đâu.
Ý định của cỏn là cổ phần nội bộ. Đó là dành cho bọn đệ thân thiết, only. Anh biết.
Hoàng Cương
Cổ đông không được bán cổ phần cho bên ngoài. Nếu nghỉ chơi thì buộc phải bán nội bộ, hoặc bán lại cho chính con Cò.
Hoàng Cương
Mục đích cổ phần là: Chia bớt trách nhiệm/ phát huy tinh thần mần việc của lũ cò con con con Cò/ để chúng quản lý lẫn nhau nhằm chống thất thoát/ cỏn bớt được thời gian mần việc công ty, dành thời gian cho việc khác/ kiếm thêm được mớ xèng kha khá do tụi cò con dâng nạp.
Hoàng Cương
Quá tốt, có phỏng.
Vấn đề là phải thuyết phục bọn cò con chung xèng.
Vậy thì : chúng phải thấy giá đó hời, phải thấy thu nhập tăng lên là một thực tế chứ đéo phải bánh vẽ. Quan trọng nhất, là chúng phải tin con Cò sẽ trung thành luật chơi.
Hoàng Cương
Vậy thì thỏa thuận và niềm tin nội bộ quan trọng nhất. Thẩm định từ bên ngoài thì có cũng được.
Anh tin con Cò sẵn sàng định giá theo cách mà cỏn và ngay cả tụi cò con cũng cảm nhận được là RẺ.
Nhưng bỉm có chịu xuống xèng hay không lại là một chuyện khác.
Danko
Ref: Asinerum Project Commander (4616)
Chị đương bận tý, mai chị gặp shark rồi. Có gì chị báo sau, cáy đcm! Chúng cô mần chủ lò mổ, cũng nghĩ tới việc chia bánh cho bộ đội là vừa. Thí mới văn minh.
Khoe cáy buồi, chị mần thật
Thiên cơ
Các cô nhớ copy lời giảng của Zì lại về nghiền ngẫm, hoặc học thuộc lòng mẹ lại đặng mà đi phỏng vấn. Qua tai mắt của bọn đệ anh tại Giùn, thì linear regression rất được hay hỏi nơi interview.
@Cô Phím: Chịu khó hóng quán bựa đều đã nâng boong ngay.
Thiên cơ
Thuật toán gradient rất đơn giản, chỉ cần tính đạo hàm và thử bừa learning rate là có thể đem đi đấm ngay lập tức. À còn nữa, trong thực hành với các bài toán phức tạp, chúng mình cũng phải thử hú họa các điểm xuất phát ban đầu nữa. ĐCM, điều này đơn giản thôi, nếu điểm xuất phát ban đầu càng xa chân núi, thì đi càng lâu. Chúng mình đéo biết đang đứng ở đâu, nên phải thử bừa nhiều điểm.
Một chú ý nữa, gradient descent mà anh và Zì giảng là gradient descent ngây thơ,nó đéo đảm bảo tìm được đúng chân núi, mà ổng chỉ tìm được các vũng của núi như thế này thôi, và ổng sẽ mắc kẹt mãi ở đó.
[im]https://www.researchgate.net/profile/Md_Saiful_Islam14/publication/338621083/figure/fig4/AS:847811214069760@1579145353037/Gradient-Descent-Stuck-at-Local-Minima-18.ppm[/im]
Như vậy, càng thêm lý do để chúng mình chọn các điểm xuất phát ban đầu khác nhau nhằm so sánh các vũng núi với nhau, để tìm vũng ngoan nhất. Tuy nhiên, lại hay ở chỗ, là với vài cải biến nho nhỏ, chúng mình sẽ giúp thoát khỏi vũng núi. Vì thế trong thực hành đcm gradient descent là vô địch.
Như Zì đã nói, gradient descent nghĩa đen là xuống dốc, nhưng đcm gọi leo núi cũng đéo sai vì nó đều cùng bản chất. Giờ các cô muốn leo nên đỉnh núi aka tìm giá trị lớn nhất thì chỉ cần đi cùng hướng đạo hàm thay vì ngược hướng nó nghe chưa. Từ rày, thuật ngữ gradient descent trong quán bựa sẽ gọi là "leo núi" mà đéo sợ thắc mắc.
Thiên cơ
ĐCM, ảnh đéo lên, anh bốt lại ảnh giải thuật leo núi bị kẹt tại các vũng núi.
[img=https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2018/12/Example-of-Local-and-Global-Minima-on-an-Error-Surface.png]
Thiên cơ
This comment has been removed by the author.
Thiên cơ
Cái quan trọng nhất trong giải thuật leo núi là tính được đạo hàm aka gradient. Chúng mình tính bằng con tensorflow. Các cô tự gúc cách install ổng. Con nào lười thì ráng chịu.
Hàm đầu tiên là: x^2 + y^2 + z^2 tại điểm (1,2,3) có gradient là (2,4,6). Tính như sau:
import tensorflow as tf
x1 = tf.constant(1.0)
x2 = tf.constant(2.0)
x3 = tf.constant(3.0)
with tf.GradientTape() as tape:
tape.watch([x1,x2,x3])
g = x1**2 + x2**2 + x3**2
grads = tape.gradient(g, [[x1,x2,x3]])
grads
Kết quả trả về là:
(2.0, 4.0, 6.0)
Đúng mẹ như lý thuyết, thật thánh quá đi.
Tiếp theo là con: sqrt(x1+x2)*log(x3). Hehe, con này anh phịa đó, đặng cho vui thôi.
x1 = tf.constant(1.0)
x2 = tf.constant(2.0)
x3 = tf.constant(3.0)
with tf.GradientTape() as tape:
tape.watch([x1,x2,x3])
g = tf.math.sqrt(x1+x2)*tf.math.log(x3)
grads = tape.gradient(g, [[x1,x2,x3]])
grads
Kết quả trả về là:
(0.31714207, 0.31714207, 0.57735026)
Con nào rảnh có thể tự tính, đặng so với ông tensorflow.
Túm lại, nhờ ông tensorflow va thuật toán leo núi, chúng mình đã có thể giải bài toán tối ưu tổn thất. Anh bương nào nghĩ ra giải thuật này quả là thiên tài quá đi.
không ai sất
Ref: con bê em con bò
"Dừng có cãi Zì. Vì càng cãi, thì chúng cô lại càng chothấy, chúng cô chỉ có Cứt mang bán thoy, chứ có cùpheo Cáy Ty Lồn."
cần nhắc đi nhắc lại thế. Vì nó là chân lý
Danko
Ref: Asinerum Project Commander (4619)
He...he..he.. Zì ngài phán như thánh ị cặp lồng ý nhỉ.
Cả 2 Shark, một ông bầu đội bóng V league 1 LS, and the other ông chủ bệnh viện tư ngàn tỷ đéo mua bánh của chúng chị rồi. Cơ mà chúng ông ổng lại hợp tác được mí nhau mần một dự án chung.
Xin chúc mừng chúng cô, từ nay các cầu thủ con cưng của chúng cô nhỡ có chấn thương thương khi thi đấu thể thao thì đã có hẳn một Rehabilitation Sport Center đẳng cấp bương để điều trị. Con nào hay chơi golf, nhỡ chấn thương thì liên hệ chị, chị cấp vâu-chờ cho nhé, cáy đcm. Trung tâm được thiết kế đẹp như mơ, đẳng cấp bương xịn nhé.
Xin tự chúc mừng lò mổ chúng chị, vửa kiếm được thêm tý vụn bánh mì hi...hi..hi... Chỗ này chị khoe thật, đéo phải giấu! Chúng chị tự chia bánh cho nhau, cũng vui.
[youtube=https://www.youtube.com/watch?v=K9iG3YjACcQ]
Danko
Ref: Asinerum Project Commander (4619)
Cáy đcm, muốn minh bạch tài chén, say no với văn hóa 2 bảng lương, tách biệt chi tiêu cá nhân với chi tiêu của lò mổ, nộp đủ vốn điều lệ...vân ..vân..và mây...mây...thì phải từ từ. Đang quá độ, đói chết mẹ!
Danko
Ref: Asinerum Project Commander (4619)
Đơn giản là chưa nghe tiếng dao thớt, chưa xuống xèng!
Chị cứ rung vậy thì mới chia bánh được chớ. Chị nghĩ là khi lò mổ đã chia bánh cho bồ đội thì dễ bán hơn cho đối tác khác. và ngược lại, khi có đối tác khác đặt vấn đề mua lò mổ của chúng cô thì bồ đội sẽ nhanh chóng xuống xèng để nhận bánh.
Có vậy thôi, chị là đa nhiệm aka multi-task, Zì khả năng cao là loại mono, đéo mần 2 việc cùng lúc được.
[img=https://2.bp.blogspot.com/-kP0M3-gW50c/T00ps9DruBI/AAAAAAAAKY8/QC9rWCK9KfE/s1600/395565_338950946143081_100000845360076_916672_675697536_n.jpg]
chocoquang
Tôi cũng tập tọe xin giảng về hàm merge trong pandas python, dùng để giải vấn đê của con Tết (thitbobiptet) ( Zì đuổi con nài vĩnh viễn nha, tôi ghét cái bọn ăn cháo xong, vén quần đái tồ tồ vào bát ).
Cơ bản của hàm merge là toán, thế mới tài: merge là hàm tìm phần chung của 2 tập hợp, 2 tập hợp ở đây là input1 và input2, Pandas python cho phép load 2 file input1 và input2 vào dataframe, rồi dùng hàm merge left là cho ra ngay kết quả .
đại loại như sau: match = input1.merge(input2,left)
dùng hàm này ngoài mấy dòng import, set, load, write to excel thì nhõn 1 dòng lệnh trên là đắn (done). tiện lợi vô cùng.
Anh ZC dùng thuât toán của Zì kính yêu, giải quyết vấn đề theo kiểu excel, dài hơn nhưng chạy cũng mượt..
Gia Ngua
Zì kính yêu làm ơn trả lời cho tôi 1 vấn đề dc ko.
Ai cũng bảo giá bitcoin là do cá mập lá giá tạo nên. Nó thích cao là cao thích thấp là thấp nhưng tôii lại thấy k tin điều đó. Vậy thực sự theo Zì có bọn nào đủ sức lái giá bitcoin ko. Lái trong trung dài hạn đàng hoàng chứ k phải là lái kiểu quét stoploss như mấy sàn margin
Unknown
Dì ơi, cho cụ xin cái tem con lợn. Thank you.
Ông Cụ
Sorry, Cụ đây.
Frankly
Chào bọn bựa chó má, cùng Trung tướng già hói, các em VS xinh tươi hĩ hĩ
[youtube=https://www.youtube.com/watch?v=6fXEsroBpEU]
Frankly
Ref: Frankly (4639)
á à còn tem ông lừa mới cả xương chéo hà hà tốt tốt
Lột tem anh là đéo được nhé đkm Trung tướng đéo vì lí do gì khà khà
Thôi anh phắng đây đkm mai lại cày như trâu gòi
vnusaengland nguyen
Hay quá, sẽ lưulại nghiềnngẫm và họcdần và đéohề-lên-Phấtbúc-luloa.
không ai sất
Ref: Zì
Con đường dạy dỗ chúng Bê bò đương dang dở ( not niềm đau dang dở) mà Zì lại bảo chúng bê bò tự trông nhau? Quán mà không có Zì thì chúng bê bò chỉ bón cứt cho nhau thôi thưa Zì. Zì hãy rút lại lời đi
Lìu Tìu
Ref: Asinerum Project Commander (4656)
"Zì sắp kiệtsức gòy" - nghe buồinguồi quá, dẫu vẫn biết mọi sự trên đời đều có giớihạn.
Lìu Tìu
Để nên tay chuyên AI, các cô thựchành các điều đã học trên, chọn cho mình 1 nền tảng tensorflow, pytorch, keras, ... Phươngpháp tiếp cận cũng dễ, đầy trên mạng. Dùng matplotlib vẽ sơđồ cho trựcquan nhằm dẽ kiểm soát chất lượng, khi đã nắm khá khá thì dùng luôn tensorboard cũng ngoan. Tạng như vầy:
[im]https://4.bp.blogspot.com/-MypLKg-5S-4/Xr5BZD_3HEI/AAAAAAAAAhU/1xfewFYos3I-yKCB50ehZEO0IqK36NIcwCK4BGAYYCw/s1600/tensorboard.png[/im]
Lìu Tìu
Nóichung, các bàitoán bây giờ thiênhạ hay nói tới có đầy code trên mạng. Hiểu được tải về chạy đã cóthể cho ra kết quả chínhxác độ 80%. Để ứng dụng được thì độ chính xác cũng cần tầm > 90%. Đó là bước khá khókhăn cần các tay chuyên lao vào.
Để được độ chính xác > 90% đã khó. Để thành ứngdụng lại cần bước tiến dài nữa. Nhưng thôi, cứ xây cái móng đã.
Thiên cơ
ĐCM, anh trồi lên phụ họa với ZÌ đây.
Anh sẽ giảng xuống chúng cô một loạt công chi tiết về nhập môn về neutral network và deep learning, cả lý thuyết lẫn thực hành kèm dùng thư viện.
Số là, nơi anh tá túc, nhân dân vừa bắt đầu đi mần trở lại. ĐCM sau đợt nghỉ tết cô vít công việc ngặp mặt, nên sắp tới anh sẽ lặn tăm một thời gian.
Loạt cồng này khá dài và chi tiết cái đcm, đáng lý ra anh sẽ chia nhiều bài giảng, nhưng đcm anh sẽ giảng hết luôn một buổi. Con nào chê dài mà lười đọc thì ráng chịu. Tuy dài, nhưng anh sẽ giảng với trách nhiệm cao nhất có thể theo gương Zì kính yêu. Anh bảo đảm trách nhiệm với con nick vip xanh anh đang có.
Thôi đéo nhiều, let's go !
Thiên cơ
Chúng mình sẽ dùng neutral network và DL để giải bài toán phân loại bộ chữ viết tay trứ danh mnist. Chúng mình đánh bằng python trên con keras của ông tensorflow.
ĐCM, như Zì đã nói, cài thằng tensorflow khá khó, nhưng đcm,thằng gúc đã cung cấp cho nhân dân cò con chúng mình ông colab thần thánh, đặng đại chúng món ML, thậm chí nó còn cho chạy cả GPU lẫn TPU. ĐCM thằng gúc thật hào sảng quá đi.
Chúng mình tạo colab như sau.
(1) Vào gúc drive, tạo một thư mục bất kỳ. Đây là thư mục cho project ML/DL của chúng mình.
(2) trong thư mục trên, ấn thêm tệp, chọn file Gúc Colab.
(3) Xong ! Thằng Colab hoạt động giống hệt như jupyternotebook, hay hơn nữa là nó có sẵn các thư viện trứ danh như numpy, mathplot, và tensorflow of course ! Đéo cần phải tải, chỉ cần dùng.
Thiên cơ
Giờ là lúc chúng cô chơi với ông MNIST trứ danh. Copy dòng lệnh sau:
from tensorflow import keras
import matplotlib.pyplot as plt
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
Ông mnist có 70000 ảnh chụp các con số viết tay của bọn Mẽo. Trong đó có 60000 ảnh là tập train, đcm tập training là nơi chúng mình sẽ dạy ông máy học. Và tập test là tập mà chúng mình sẽ dành để kiểm tra xem ông máy học có ngoan không. ĐCM, bọn mẽo là cẩn thận chọn các nhân dân viết số cho tập test hoàn toàn khác nhân dân viết số cho tập train để đảm bảo tính độc lập. Cái này giống học sinh ôn thi đại học thôi mà. Các cháu được dạy bởi con Lói, nhưng mà đcm em Mỡ lại là người kiểm tra, hehe.
Tiếp theo, gõ dòng lệnh sau để quan sát data.
digit = train_images[0]
import matplotlib.pyplot as plt
plt.imshow(digit, cmap=plt.cm.binary)
plt.show()
Nó ra như vầy:
[img= https://ibb.co/Dz4rV4D]
Ảnh này ảnh gray có kích cỡ 28*28 pixel. Pixel là gì thì mới Gúc cái đcm. Ảnh gray là gì thì mời gúc also.
ĐCM, chúng mình phải biết là đối với ông máy, ảnh gray lồn nào cũng chỉ là dạng ma trận 2 chièu aka 2d array aka 2d tensor. Chúng mình thấy điều này bằng cách gõ
digit
Khi đó, chúng mình sẽ thấy ảnh trên chỉ là một mảng kích thước 28*28 gồm các con số mà thôi. Chính vì ông máy nhận biết ảnh như là một chuỗi các con số, nên trước khi có món DL/ML ra đời thì đcm dạy ổng học nhận biết đâu là chó, đâu là mèo là tác vụ bất khả thi @Tôm Cruise
Thiên cơ
Hết mẹ khúc dạo đầu với data. Giờ chúng mình sẽ học lý thuyết, như cách học của các tay chuyên cao boong. Chúng mình sẽ đi từng hồi một như tam quốc của bọn khựa.
1. Neuron trong học máy.
Cái đcm neutron là gì vậy ta ?
Chúng mình đéo cần biết bọn sinh học định nghĩa neutron là cái lồn gì cả. Đối với DL, neuron chỉ đơn giản là một object chứa một con số và output ra một con số khác mà thôi. Như vầy:
[img=https://1.bp.blogspot.com/-2llYEtDzhtA/Xr7y75fLY4I/AAAAAAAAAFo/otn3hNWC6LoV3P6rRBXK__qiDn--HuC7ACLcBGAsYHQ/s1600/neuron.jpeg]
ĐCM, thế là quá đủ cho định nghĩa của một neuron theo phong cách Bựa hehe.
Thiên cơ
2. Perceptron.
Đây là một khái niệm xưa cũ của ngành học máy. ĐCM, nó có từ khi ông máy tính vưa mới được ra đời aka lúc Zì kính yêu của chúng mình còn cởi chuông tắm sông ở kênh thị nghè. ĐCM, vậy nó là gì vậy ta ?
Anh mời chúng cô nghĩ theo hướng sau.
ĐCM, giả sử chúng mình hóng được ở trong downtown có một hội hè rất linh đình vào cuối tuần sau đợt lockdown. Chúng cô mình có đi hay không thì thường phải dựa vào yếu tố như sau:
(1) Ngày đó có đẹp trời or not ?
(2) Em Mỡ có đi cùng chúng mình or not ?
(3) Dịch cô vít vẫn còn or not ?
ĐCM, đó là những câu hỏi yes/or no mà chúng mình buộc phải trả lời. Vì là câu hỏi yes/no nên chúng mình có thể model nó như sau: x1 = 1 nếu trời đẹp, x1 = 0 nếu trời xấu. x2 =1 nếu em mỡ đi cùng, x2 = 0 nếu em ý đéo. So on so forth.
Nhưng đồng thời mỗi lựa chọn đều phải có trọng lượng riêng của nó.
Chả dụ, trời đẹp hay xấu đéo quan trọng cho mẹ nó w1 = 1. Em mỡ đi cùng hay không khá quan trọng cho mẹ nó w2 = 4. Dịch cô vít hết hay chưa, quan trọng vkl, cho mẹ nó w3 = 10.
w1, w2, w3 chính là các weights mà Zì đã giảng above.
Sau đó chúng mình lấy tổng như sau:
x1*w1 + x2*w2 + x3*w3.
Giả dụ hôm đó trời đẹp: x1 = 1, nhưng em Mỡ đéo chịu đi cùng x2 = 0, và dịch cô vích đã hết x3 = 1. Với
Nhưng đồng thời, chúng mình phải có một ngưỡng sẵn trong đầu. Cái đcm nó, nếu tổng trên vượt quá ngưỡng thì đi, còn không thì đéo. Giả sử mình chọn trước ngưỡng là 5 thì chúng mình sẽ đi go out.
If x1*w1 + x2*w2 + x3*w3 > Ngưỡng =>>> ĐI Chơi.
Viết lại thành: x1*w1 + x2*w2 + x3*w3 + (-Ngưỡng) > 0 =>>> Đi Chơi.
Chính vì chúng mình phải chọn trước ngưỡng trong đầu, nên đcm đã có sự thiện vị nào đó. Do vậy con số (-Ngưỡng) được gọi là bias chính là khái niệm mà Zì đẵ giảng. Hàn lâm ký hiệu con bias là số b. Anh sẽ ký hiệu nó là b for the rest, đcm.
Tóm lại:
x1*w1 + x2*w2 + x3*w3 + b > 0 =>>> Đi Chơi ngược lại thì đéo.
Thiên cơ
3. Perceptron.
ĐCM, xin chúc mừng. Chúng mình đã có mạng perceptron đầu tiên. Nó trông như vầy.
[img=https://1.bp.blogspot.com/-4lZVCS_KPI8/Xr76pgINUGI/AAAAAAAAAF0/hGOYZ3EWQL8a5Tb-5NMMPdr4D1F6Uxr4QCLcBGAsYHQ/s1600/perceptron.jpeg]
Trong mạng perceptron đó chúng mình có 4 neuron. Mỗi neuron chỉ mang giá trị 0 hoặc 1. Trong đó có 3 thằng neuron tác động nên một thằng qua dây thần kinh. ĐCM, tác động nặng hay nhẹ phụ được cho bởi weights. Neuron cuối cùng ouput 1 nếu các tác động vượt quá ngưỡng như đã nói.
ĐCM, mô phỏng này rất đơn giản nhưng đcm lịch sử cho thấy ổng cũng làm được kha khá việc có ích. In fact, ông perceptron chính đã tạo ra cú hới mưng về AI lần thứ nhất hehe. Thời đó 1960s, bọn nó đã tưởng dùng perceptron và giải thuật trứ danh đi cùng ổng là PLA aka Perceptron Learning Algorithm có thể làm mọi việc.
Zưng đcm, đời đéo như mơ càng ngày ông perceptron càng lộ nhiều khuyết điểm, dần dần nhân dân trần gian cũng hết mẹ hới mưng về sức mạnh của AI. Ông perceptron và PLA, đi mẹ vào quên lãng. Nhân dân bước vào thời kỳ AI winter ngủ đông lần đầu tiên khi mà đéo ai thèm quan tâm đến AI nữa hic hic.
Thiên cơ
4. Activation function.
Điểm chí mạng đầu tiên của ông Perceptron đó là các neuron của ổng chỉ có thể nhận giá trị 0 hoặc 1. ĐCM, điều này quá phi thực tế, khi đời đâu chỉ có trắng hay đen.
Vậy sửa như nào ?
Quá đơn giản cho các ông neuron có giá trị bất kỳ như -10, -100, 1, 2,... Tuy nhiên chúng mình thường ưu tiên giá trị của neuron nhận trong khoảng (-1,1) hoặc (0,1).
Điểm chí mạng thứ hai của ông perceptron đó là, ông chỉ đấm các hàm tuyến tính aka linear, trong cồng của anh hàm tuyến tính chính là:
x1*w1 + x2*w2 + x3*w3 + b
ĐCM, cho con nào chưa biết, tuyến tính chính là đường thẳng mặt phẳng, so on,...
Điều này quá phi thực tế also, cuộc đời đâu chỉ có tuyến tính akamà cần phải có phi tuyến tính aka non-linear aka quanh co khúc khuỷu. Chính vì thế ông activation function phải vào cuộc.
Activation function vào cuộc như nào. Quá đơn giản. Chúng mình áp mẹ thằng x1*w1 + x2*w2 + x3*w3 + b bằng một hàm ĐÉO tuyến tính chả dụ sin, cos, etc...
Trong DL, có mấy con activation hay dùng là tanh, sigmoid, Relu mà Zì đã giảng ở trên. Anh sẽ nói kỹ về mấy thằng này later.
Tóm lại thay vì trả về x1*w1 + x2*w2 + x3*w3 + b, chúng mình sẽ trả về kết quả như:
tanh(x1*w1 + x2*w2 + x3*w3 + b), or Relu(x1*w1 + x2*w2 + x3*w3 + b),.. so on.
Xin chúc mừng, chúng mình đã có mạng neuro đơn giản đầu tiên.
Thiên cơ
5. More than simple Neural network.
Nếu chỉ có mạng Neural network đơn giản như vầy thì chúng mình đéo làm được cái lồn gì cho đời đâu:
[im]https://1.bp.blogspot.com/-mE-CaVYkXh0/Xr8DfT6TbmI/AAAAAAAAAGA/eujpA7ol37Y8qQZNc3MSG5QBLzMKIB6zACLcBGAsYHQ/s1600/neuron%2Bnetwork%2Bsimple.jpeg[/im]
Ngay cả ông châu chấu, cào cào cũng đã có hàng trăm ngàn neuron vì vậy đcm ông máy ít ra cũng phải như vậy, chính vì thế neural network phức tạp hơn phải vào cuộc, ổng nom như sau:
[im]https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Artificial_neural_network.svg/700px-Artificial_neural_network.svg.png[/im]
Tuy nhiên trong thực tế, mạng thần kinh của máy nó còn phức tạp hơn nhiều ngay cả đối với làm những bài toán vỡ lòng , chúng mình phải design những mạng thần kinh chằng chịt như lông lồn 3 tháng chưa cạo ý.
Hình trên là mạng thần kinh chằng chịt aka fully connected. Nó có ba layer. Layer đầu chính là input của chúng mình, thằng ở giữa kêu là hidden layer, còn thằng cuối cùng ouput layer. Anh sẽ giảng chi tiết trong các cồng tiếp. Các đường đi từ neuron này đến neuron nó được chi phối bởi các weights. Có ông neuron chi phối ông khác ít nếu weight bé và ngược lại. Layer tiếng giùn kêu là tầng nghe chưa.
Vì bộ não sinh học, chằng chịt các liên kết neuron nên đcm mạng thần kinh của ông máy cũng phải mần vậy.
Cái đcm, giờ các cô đã hiểu tại sao nó gọi là Deep learning aka học sâu chưa. Vì ĐCM mạng thần kinh của ông máy thực tế thường có hàng chục, hàng trăm layer. Một tín hiệu từ input phải vượt qua mấy tầng lận mới mò xuống được tầng ouput nghe chưa. Càng nhiều tầng thì mạng càng sâu. Cái đcm, anh đã giải thích thế này mà con nào còn đéo hiểu thì tự vào nhà vệ sinh xúc một bát cứt mà cắn nghe chưa.
Nhìn kỹ vào mạng thần kinh trên chúng mình thấy điều gì.
Cái đcm, nếu chỉ cân một thay đổi nhỏ ở giá trị của bất kỳ neuron nào cũng gây ra liên đới cho mọi ông khác và ảnh hướng cuối cùng đến kết quả của ouput.Do mạng của mình là fully connected mà. ĐCM chính vì thế có một con bương đã kêu hiện tượng này bằng câu ca dao trứ danh sau:
“Neurons that fire together wire together.”
Thiên cơ
6. Softmax function.
ĐCM, đây là một khái niệm must have trong bài toán phân loại.
Đối với bài toán phân loại hình ảnh của data mnist. ĐCM, như anh đã giảng ở trên. Mỗi một hình ảnh là một con ma trận 28*28. Như vậy có cả thảy 28*28 = 784 pixel.
Bước tiếp theo, chúng mình sẽ coi giá trị của mỗi pixel là một neuron, và đặt nó vào một input layer của mạng thần kinh như này:
[im]https://1.bp.blogspot.com/-DmiXYA_cbHQ/Xr8OHFP_LSI/AAAAAAAAAGY/JCQ6hqccE74PzQ18W64tNua6A0caa_DSQCLcBGAsYHQ/s1600/minist.jpeg[/im]
Nhìn vào trong hình, chúng mình sẽ thấy, tại các hidden layer, chúng mình sẽ áp dụng thằng relu activation như anh đã giảng ở trên, và ở mỗi đường đi từ neuron này đến neuron khác sẽ chịu ảnh hưởng mới các weights. Còn tầng áp chót tác động vào ouput layer chúng mình sẽ thấy có thằng softmax, đcm vậy softmax là gì vậy ta.
Softmax nó là hàm xác suất. Cái đcm.
Nếu con nào tò mò hẳn sẽ gúc hàm softmax có dạnglà cái lồn gì. Nhưng anh bảo đéo cần nghe chưa.
Duy nhất cần hiểu cách thức hoạt động của nó thôi. Copy dòng lệnh sau trên colab:
import tensorflow as tf
import numpy as np
a = tf.constant(np.array([1.0,2.0,3.0]))
tf.nn.softmax(a)
Kết quả trả về:
[0.09003057, 0.24472847, 0.66524096]
Các cô đoán đúng rồi đó, input đầu vào là mảng [1,2,3] tương ứng cho class 1, class 2, class 3. Output trả về là mảng [0.09003057, 0.24472847, 0.66524096] được hiểu là :
Xác suất để xảy ra class 1 là 0.09003057. Xác suất để xảy ra class2 là 0.24472847. Xác suất để xảy ra class 3 là 0.66524096. Và zĩ nhiên tổng của các con số này phải bằng 1, thế nên nó mới kêu là hàm xác suất. Hiểu đại khái như thế là ngoan.
Chú ý: input và output của softmax đéo nhất thiết phải giống nhau nghe chưa. Ví dụ trên anh lấy làm minh họa thôi. Chúng cô tự gúc documentation của softmax.
Giờ thì các cô đã hiểu tại sao ouput layer lại có 10 neuron chưa. Nó diễn ra như vầy.
(1) Nạp mẹ mảng 28*28 = 784 pixel vào input layer. Đó là input ban đầu.
(2) Bằng một chuỗi các tính toàn đấm bằng hàm Relu, và các chọn weights, mý cả bias, chúng mình đi được tới layer ap chót. Tại layer này chúng mình đấm hàm soft max để nó trả về một mảng có 10 phần tử có tổng lại bằng 1 chả dụ:
[0.1, 0.1,...,0.1]
Hiểu kết quả này như nào ? Chúng cô đoán đúng rồi đó, nghĩa là với xác suất 0.1 ảnh đó là số 1, xác suất 0.1 ảnh đó là số 2, so on so forth.
ĐCM, anh đã giải thích thế này mà con nào còn đéo hiểu thì tự biết làm gì rồi đó.
Thiên cơ
7. học giám sát.
Đối với bài toán phân loại ảnh. Nó thuộc lại supervised learning aka học giám sát. BTW, đề nghị Zì cập nhập từ điển bựa cho học giám sát, đặng batoong chúng anh chém gió cho bựa.
Vậy học giám sát là gì. Đối với bài toán phân loại hình ảnh. Chúng mình có tập training chứa 60000 ảnh, mỗi ảnh này chúng mình đã biết trước nó là số gì. Chúng cô gõ dòng lệnh sau trên colab:
train_labels
Nó trả về:
[5, 0, 4, ..., 5, 6, 8]
Nghĩa là ảnh 1 trong tập train là 5, ảnh hai là 0, so on so forth....
Nhiệm vụ của ông máy là tự tìm ra quy luật ngầm chi phối mảng array 2d nào thì tương ứng với hình ảnh của số nào.
Sau đó, ông máy sẽ áp dụng quy luật ổng vừa tìm ra vào một tập hoàn toàn độc lập với data train gọi là tập test, để kiểm chứng xem quy luật này còn đúng nhiều không.
Thế nên nó mới gọi là học giám sát chứ, đcm chúng mình đã biết hết mẹ kết quả rồi, chỉ giám sát xem thằng máy làm đúng không hay thôi.
ĐCM, tác vụ này hoàn toàn non trivial đối với ông máy nghe chưa. Bộ Não của chúng mình, dù nhiều đi ỉa quên chùi đít, nhưng lại rất giỏi trong việc này. Chả dụ khi chúng cô viết chữ O, có con viết tròn viết méo, nhưng bộ nào của chúng mình đều biết được ngay đó là chữ O. Nguyên do bởi vì bộ não chúng mình nhận ra ngay tức khắc quy luật đcm cứ cái hình nào có cái đường con khép kín, dù méo hay tròn đều là chữ O hết.
Vậy máy tìm quy luật tương ứng như nào aka máy sẽ học như nào ?
Để làm được điều này hàm lost function phải vào cuộc.
Thiên cơ
8. Lost Function
Bất cứ bài toán nào chúng mình cũng phải cần một hàm lost, đặng máy học. Hãy nghĩ nó như là cái roi , khi nào con máy học sai thì chúng mình đánh nó tòe lồn ra, để nó chừa mà học tử tế.
Note: có ba cái tên hay được kêu thay đổi là cost function, lost function, objective function.
Đối với bài toán phân loại chữ số viết tay của bộ mnist thì hàm lost chọn như nào. Ví dụ cụ thể:
Chả dụ đối với train-images[0] trong tập train chúng mình chọn bừa các weight, và bias, sau đó nạp mẹ vào mạng thần kinh như anh giảng cồng trên. Giá trị trờ về là:
[0.1,0.1,...,0.1]
Mặt khác, trong tập test chúng mình, đã biết test_labels[0] = 5. Nên kết quả chính xác phải là:
[0,0,0,0,1,...0]
À đcm, vậy là đã có sai số. Chúng mình dùng hàm bình phương nhỏ nhất. Con nào đéo hiểu mời đọc lại cồng của Zì trên.
Sai số chính là:
(0.1-0)^2 +..+(0.1-1)^2 +..+ (0.1-0)^2.
Vì có 60000 ảnh lận, nên chúng mình sẽ có 60000 tổng như vậy. Chia ra lấy trung bình, và mục tiêu là tìm sao cho số này bé nhất.
Chúng cô sẽ thắc mắc, hàm lost là như thế, thế biến của nó là gì.
Đơn giản thôi, biến chính là các weight và bias đặng chúng mình điều chỉnh aka phạt máy sau mỗi lần nó học quá ngu.
Vậy có bao nhiêu biến ?
Với mạng fully connected như anh bốt hinh ở trên, khi tất cả các neuron đều connect với nhau. Giả sử chúng mình có 3 layer thôi, layer input 784 neuron, layer hidden có 300 thằng thôi, layer output có 10 thằng thì tính số biến như sau:
Số weights chính là 784*300 + 300*10
Số bias là 300 + 10 .
Như vậy tổng là 784*300 + 300*10 + 310 = 235510 biến.
Cái đcm chúng cô đéo nhìn nhầm đâu hai trăm ngàn biến. Mà đcm đó mới chỉ là ảnh gray với kích thước bé như ty lôn 28*28 và một hidden layer thôi đó.
Duy nhất, cách dùng phương pháp leo núi hoặc các biến thể của nó đặng tìm giá trị nhỏ nhất hàm mất mát. Tuy vậy với hai trăm ngàn biến thì tính đạo hàm cũng khó vãi cả lồn ra, hay nói đúng là là không thể.
Chính vì vậy ý tưởng về mạng lưới nhiều tâng dù đã được có từ thời sơ khai của máy tính, nhưng đéo ai thèm care, vì đơn giản IT IS UNCOMPUTABLE.
Cho đến khi, năm 1986, anh Hinton và đồng bọn đã nghĩ ra giải thuật Truyền ngược (Backpropagation) đặng tính gradient cho hàm trăm ngàn biến một cách nhanh lẹ. Anh Hinton được coi là cha để của DL, ảnh đã cắn giải cao quý nhất là giải Turing vào năm ngoái.
Thiên cơ
8. Truyền ngược (Backpropagation)
Kể từ đó, Cái đcm backpropagation + leo núi đã trở thành súng đạn chính của DL.
Giải thuật này như nào, đại khái nó sẽ tính đạo hàm bằng cách truyền ngược như một mạng lưới thần kinh thực thụ.
Tuy vậy anh khuyên thật lòng là nếu chúng cô ở giai đoạn chập chững thì đéo cần biết nó là gì đâu.
Cho con nào quan tâm, thì giải thuật truyền ngược áp dụng đệ quy để truyền ngược từ ouput layer về input layer. Và để tối ưu tính toán nó dùng kỹ thuật lập trình động dynamic programming như ZÌ đã giảng.
Thực ra, giải thuật này cũng đéo có gì khó lắm. Bản chất nó chỉ là áp dụng tìm đạo hàm hợp nhiều hàm số bằng phương pháp dây xích aka chain rule, mà bất cứ cháu nào học cấp 3 thi đại học cũng phải học nó. Còn mấy cháu ở đại học thì học dạng phức tạp hơn của chain rule một chút, đó là khi với hàm nhiều biến aka đạo hàm riêng. Cái này thi bọn học kinh tế, ngân hàng, kỹ thuật đều được học tuốt, hehe đừng cãi anh, vì anh đã từng phải kèm my ex gf khi nàng học kinh tế đặng qua học phần toán cao cấp.
Tuy vậy, anh rất quan ngại vì dường như theo quan sát của anh, rất ít con làm AI ở giùn hiểu được thuật toán truyền ngược. Cái đcm đéo hiểu 4 năm đại học, chúng nó học toán cao cấp thế nào. Vì thế như ZÌ đã giảng tốt nhất học mẹ đại học ở bương cho lành.
Nếu chúng cô hiểu bản chất thuật toán truyền ngược thì sẽ hiểu đéo thể nào dùng được nhiều thằng hàm sigmoid khi train mạng net work nhiều tầng được. Nó chịu một điểm yếu chị mạng đó là gradient vanishing. Đại khái thằng simgnoid có đạo hàm quá bé nhỏ hơn 1, quá nhiều tầng sẽ là vô số các số bé hơn 1 nhân lại với nhau, sẽ cho ra một số rất gần 0 aka vanishing.
Vì thế thằng relu là thằng hay được dùng nhất. Tuy vậy sigmoid vẫn có chỗ đứng của nó, ví dụ như chúng cô sẽ dùng 10 tầng thằng relu và 3 thằng sigmoid thôi. DDCM, cái này phụ thuộc kinh nghiệm design network làm nhiều và data input
Thiên cơ
9 Epoch & Mini- batch
Chúng mình thống nhất coi Truyền ngược (Backpropagation) là một black box nghe chưa.
Cái đcm vì các thư viện tính sẵn hết rồi. Đại khái, nó dùng để tính gradient đặng kết hợp với thuật toán leo núi để trở thành súng đạn chính cho DL. Con nào muốn tìm hiểu thì tham khảo cồng trên của anh và tự gúc.
Và giờ là epoch & mini batch
Như đã nói cồng trên, để tính hàm lost, chúng mình phải cực tiểu hóa hàm lost cho mọi data trong 60000 ảnh của tập train.
ĐCM, hàm đã trăm ngàn biến mà đại có tận 60000 ảnh, nếu chúng mình đánh giải thuật leo núi full batch aka đnahs giải thuật leo núi cho toàn bộ 60000 ảnh một lúc thì chỉ có cắn cứt thôi, dù ông máy có khỏe đến mấy.
Vì thế như anh đã nói hôm trước, SGD phải vào cuộc aka stochastic gradient descent.
Đại khái, mọi việc diễn ra như sau.
(1) Chúng mình fixed size batch chả dụ size = 100.
(2) Xáo trộn 60000 ảnh trong tập train lại cho nó lung tung beng đéo theo thứ tự cặc nào cả
(3) 60000 ảnh lúc này đã ở thứ tự hoàn toàn mới, vì mỗi size batch có 100, nên suy ra có 600 batch tất cả, tưởng tượng như chúng mình chặt miếng thịt ra 600 miếng.
(4) đánh thuật toán leo núi cho từng phần từng phần một lúc này mỗi phần chúng mình chỉ đánh có 100 con nên công việc nhẹ hơn nhiều, cho đến khi kết mẹ 600 miếng đó
Cái đcm, sau khi đã đánh xong thuật toán leo núi cho 600 miếng đó, thì gọi là hết một epoch training nghe chưa.
Trước đó chúng mình đã chọn chả dụ 100 epoch
Chúng mình lặp lại các bước trên cho đên khi hết mẹ 100 epoch.
Thiên cơ
10. Kết thúc và tổng kết.
Như vậy anh đã giảng xong phần lý thuyết cho neural network. Và đây là tổng kết
Mời chúng cô nhìn kỹ một lần nữa sơ đồ trứ danh này.
[im]https://1.bp.blogspot.com/-DmiXYA_cbHQ/Xr8OHFP_LSI/AAAAAAAAAGY/JCQ6hqccE74PzQ18W64tNua6A0caa_DSQCLcBGAsYHQ/s1600/minist.jpeg[/im]
Đại khái ban đầu, các weight và bias được chọn ngẫu nhiên, kệ mẹ nó đi nó là máy nên nó được phép ngông cuồng @ ZÌ.
Với input ban đầu đã fixed là các ảnh, và các w, b chọn ngẫu nhiên, mạng thần kinh của chúng mình truyền đến output và trả về hàm loss. Nếu hàm loss quá lớn, chúng mình phải đánh tòe lồn thằng máy ra, và truyền ngược lại thông tin từ layer ouput đến input rằng cái đcm mày học ngu quá, đặng nó điểu chỉnh các weight và bias.
Và nó điều chỉnh, và truyền đến feed forward output, rồi truyền ngược lại input, again again and again, cho đến khi chúng mình hài lòng.
Nó khá giôngs với bộ não chúng mình thay đổi đặng phù hợp mới môi trường.
Thiên cơ
11. Where do we go from now ?
Mạng lưới fully connected ở trên mà anh bốt chịu một điểm yếu chí mạng đó là quá nhiều biến như anh vừa chỉ ra, và thứ hai nó đéo mô phỏng bộ não ở chỗ: trong bộ não chúng mình, thực ra có nhiều phần rất đéo liên quan với nhau aka không hề có connect. Hoặc có rất nhiều tác vụ chúng mình chỉ dùng phần nhỏ của bộ não. Trong khi mạng lưới fully connected mọi neuron đều tham gia. ĐCM điều này cũng dễ gây ra overfitting mà nếu anh nhớ ko nhầm ở quán bựa gọi là học tủ (?).
Ngĩa là khi máy học cực ngoan ở tập train, nhưng khi ra tập test thì học như cặc.
Chính vì thế training neural network trong thực tế rất khó. Thực ra sau bài báo trứ danh của anh Hinton 1986 kể trên, ngạch DL ko tiến triển mạnh. In fact, AI lại phải trải qua giai đoạn mùa đông thứ 2 khi đéo ai quan tâm.
Zưng, năm 2012, bằng kỹ thuật convolution neural network aka CNN, ngành DL lại sống lại mạnh mẽ again. Cái đcm, chúng mình sẽ bàn CNN vào một dịp khác. Các cô cần biết là giờ CNN là thứ must have xong computer vision. Nếu đéo có cú breakthrough năm 2012 thì anh đéo tin bộ ba god father trong DL: geoffrey hinton, yoshua bengio, yann lecun cắn giải Turing năm ngoái. Chúc mừng ba anh again.
Thiên cơ
Cái đcm, nếu cúng cô đã có kinh nghiệm code kha khá, và chịu khó nghiền ngẫm công mà anh và Zì giảng sùi bọt mép mấy ngày qua. Thì anh bảo đảo cúng cô có thể phóng đơn xin chuyển ngach AI, ít nhất là tại giùn.
Thiên cơ
Thôi giờ là phần thực hành trên colab.
Đây là đoạn code:
from tensorflow import keras
mnist = keras.datasets.mnist
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
train_images = train_images / 255.0
network = keras.models.Sequential()
network.add(keras.layers.Flatten(input_shape=[28, 28]))
network.add(keras.layers.Dense(512, activation='relu'))
network.add(keras.layers.Dense(300, activation='relu'))
network.add(keras.layers.Dense(10, activation='softmax'))
network.compile(loss="sparse_categorical_crossentropy",optimizer="sgd",metrics=["accuracy"])
network.fit(train_images, train_labels, epochs=30, batch_size=128)
test_loss, test_acc = network.evaluate(test_images, test_labels)
print('test_acc:', test_acc)
Anh sẽ giải thích code line by line
Mr.Trying
Hôm rầu, tôi đi công trình suốt giờ lên nom quá nhiều cồng quá xá. Đợt này Gì và chi bộ dạy toàn it cao boong, trình tôi chỉ biết vọc vạc tí cad excel thì chịu ko thẩm được. Cô nào có căn bản thì cắn nhời Gì .
Thấy Gì than sắp kiệt sức rồi thôi thấy ngậm ngùi và xót xa và buồn da diết. Dẫu biết mọi thứ rồi cũng có kết thúc nhưng tôi sợ điều đó đến sớm. Cầu mong chúa đừng cất Gì về sớm, hãy để Gì chăn dắt lũ con bê em con bò.
Thiên cơ
Ba dòng code đầu đéo có gì cả.
train_images = train_images / 255.0
Vì gray image ban đầu mỗi pixel có giá trị lung tung trong khoảng (0,255) chúng mình chuân hóa cho nó năm trong khoảng (0,1) bằng cách chia cho 255.
network = keras.models.Sequential()
network.add(keras.layers.Flatten(input_shape=[28, 28]))
network.add(keras.layers.Dense(512, activation='relu'))
network.add(keras.layers.Dense(300, activation='relu'))
network.add(keras.layers.Dense(10, activation='softmax'))
Mấy dòng này anh đơn giản là tạo một mạng thần kinh có 4 layer trong đó có 2 hidden layer. Chú ý, thường thì chúng mình chọn neuron sao cho số neuron ở layer trước cao hơn layer sau, sao cho nó giống hình kim tự tháp ý.
Sau đó các cô có thể kiêm tra dòng lệnh sau:
hidden1 = network.layers[1]
hidden1.get_weights()
Đại khái các cô sẽ thấy các weights của hidden1 là các số lung tung ngẫu nhiên đéo sao cả. Còn bias set = 0 hết.
network.compile(loss="sparse_categorical_crossentropy",optimizer="sgd",metrics=["accuracy"])
hàm loss tính theo sparse_categorical_crossentropy vì class chúng mình đéo giao nhau mỗi ảnh tương ứng duy nhất 1 số , cách tính cực tiểu hàm theo SGD, và metric accuracy đơn giản chỉ là độ chính xác được tính đeo tỉ số dự toán đúng trên/ tổng số dự đoán
network.fit(train_images, train_labels, epochs=30, batch_size=128)
Cuối cùng bắt đầu train trên tập train, các cô chạy xong sẽ thấy sau mỗi epoch, hàm loss giảm dần, và độ chính xác tăng lên như vầy.
Epoch 1/30
469/469 [==============================] - 1s 2ms/step - loss: 1.1004 - accuracy: 0.7436
Epoch2/30
469/469 [==============================] - 1s 2ms/step - loss: 0.4474 - accuracy: 0.8832
Epoch 3/30
469/469 [==============================] - 1s 2ms/step - loss: 0.3552 - accuracy: 0.9026
Epoch 4/30
469/469 [==============================] - 1s 2ms/step - loss: 0.3145 - accuracy: 0.9118
sau 30 epoch độ chính xác sẽ là:
Epoch 30/30
469/469 [==============================] - 1s 2ms/step - loss: 0.1094 - accuracy: 0.9697
loss: 0.1094 - accuracy: 0.9697
Chú ý đó mới chỉ là độ chính xác trên tập train.
test_loss, test_acc = network.evaluate(test_images, test_labels)
print('test_acc:', test_acc)
Đây là dòng lệnh để kiểm tra xem máy học đúng không trên tập test.
Kết quả là:
loss: 15.6943 - accuracy: 0.9635
Kết quả chính xác trên tập test 0.9635 hơi thấp một chút so với 0.9697. But it is ok.
Ngoài ra trong dòng code network. compile ở phần optimiser nếu các cô thay optimiser = "adam" thì chỉ cần set 5 epoch là sẽ ra độ chính xác là:
accuracy: 0.9942 trên tập train và accuracy: 0.9786 trên tập test.
Ngon vcc, adam hiện này là một phương pháp cực tiểu hóa hay dùng trong DL nghe chưa. Nó là biến thể của SGD.
Thiên cơ
Đoạn code anh code trên, đã giống 90% với các tác vụ thực tế rồi đó. Nó còn thiếu chút là thiếu tập valid. Nó là gì thì mới gúc và đó là bài tập về nhà cho các cô.
happy coding !
Thiên cơ
Anh đọc lại mấy cồng của mình, có lỗi typo là lost phải là loss function nghe chưa.
Thiên cơ
Ref: Mr.Trying (4691)
Hiểu có nhiều tầng hiểu cô ạ.
Hiểu theo nghĩa thấp nhất, là hiểu đại khái chung chung, general idea.
Hiểu sâu hơn là thực hành được code được.
Hiểu sâu hơn nữa là hiểu nguyên lý đằng sau nó.
Anh ko chắc là khả năng diễn giải của anh có dễ hiểu ko, anh vẫn đang working on it. BUt ĐCM, anh đéo tin nếu đọc qua loạt cồng của Zì mà cô đéo có general idea. General idea của AI dù đéo giúp cô đong xèng nhiều hơn nhưng đcm cô có thể dùng nó để kể với hài nhi mớm anh ý từng tí một với những ý tưởng nền tảng, AI là thứ must have lúc này và đcm việc cô mớm nó cho hài nhi chỉ có lợi thôi.
Trừ phi, cô đéo coi AI là cái lồn gì, vậy cồng của anh và Zì mấy ngày qua cô bỏ qua hết hehe. Nếu vậy thì anh speechless. But this is your choice.
Thiên cơ
Để diễn giải một ý tưởng khoa học, chúng mình có thể dùng nhiều cách như:
(1) Diễn tả băng ngôn ngử toán học, cái này rất ngắn gọn xúc tích, bản chất, nhưng đòi hỏi nhân dân boong trình cao
(2) diễn tả bằng những ngôn ngữ nói như tiếng việt, anh, đức,...
Muốn cách (2) hoạt động tốt nhất thì chúng mình phải sử dụng y hệt như chúng mình đang giải thích trực tiếp speaking 1 vs 1 với nhau, bằng ngôn ngữ đời thường. Cách hành Văn viết bựa là cách duy nhất anh biết so far bằng tiếng giùn, giống với ngôn ngữ đời thường.
Cô còn lạ gì cách giùn chúng mình hành văn viết, khô như ngói, một ý tưởng sinh động, qua cách hành văn đại chúng của giùn sẽ trở nên hình thức, và đcm người đọc sẽ chán mẹ như ngắt. Vì giùn chúng mình vẫn còn giữ ý tứ nhiều quá, lễ mý chả nghĩa cái ĐCM. Đợi Khi nào thi trong phìm giùn, chúng mình nghe thấy từ đéo, hay địt mẹ, vậy ta ? Anh thỉnh thoảng coi mấy phim làm bởi bọn giang hộ mạng giùn bốt trên youtube mà chúng nó còn đéo dám nói địt mẹ, hehe chết mẹ cười với phong cách ý tứ của giùn.
Tin anh đi, anh đã thử đọc kha khá bài viết tiếng việt về AI/ML, có nhiều bài dở nhưng cũng có bài hay, nhưng tựu chung vẫn là cách viết ý mý chả tứ, formal, vẫn có rất nhiêu khoảng cách giữa người viết và người đọc. Vì thế việc truyền Idea gặp quá nhiều trở ngại.
Nếu ở quán bựa mà Cô Chai còn đéo hiểu/ đéo chịu hiểu được ý tưởng nền tảng của AI thì nowhere on giun cô có thể hiểu được nó. Trừ khi cô đọc blog tiếng bương.
Thiên cơ
Một ví dụ điển hình của việc giữa ý tứ của giùn là anh đã đọc qua forum chân chính của con Lói. Cái đcm con này nổi tiếng mồm chó vó ngựa trên quán, mà trên forum của cỏn con phải dùng dùng cách hành văn khác đi, ý tứ hơn. Nhìn chung anh vẫn thấy cỏn hành văn ok trên forum, nhưng đcm đéo thể nào bằng được cách cỏn hành văn trên quán bựa. Lói ạ, anh vẫn ưng cách cô hành văn trên quán hơn
vnusaengland nguyen
Ref: Mr.Trying (4691)
Nom cồng cô sao giống:
-Dẫu biết trời xanh là mãi mãi
-Mà sao nghe nhói ở trong tim
Của con nào nhớ về cụ, bạn khôngthân của Zì ấy nhở.
Cô quên rằng Zì là trùm Zâmcông, Minhcông, Chửicông à. Zì còn làm Hiệutrưởng lâu.
Khi nào mệt nhớ đá tí combo zânca + Chopin nhé Zì
Day-dreaming
nghỉ giải lao, tí dân ca nhẻ
[youtube=https://www.youtube.com/watch?v=ThCOyBMd5ZY]
trong lòng tôi gió xuân nào đắm đuối, cỏ nào trong mắt em xanh
trăng luyến ái lóng lánh mặt hồ
lửa hai người sưởi ấm cả đêm lạnh
Bao nhiêu năm sau như mây bay, bước chân đổi thay làm hai ta khó nắm được tay
Đời kiếp này có bao nhiêu người
như em và tôi bị nhấn chìm bởi những đêm trăng nước
Chợt những ngày xưa hiện lại
quyến luyến quên về...trên hồ Baikal
Bao nhiêu năm sau chuyện cũ bay theo mây, nhưng những dịu êm như tuyết băng không tan
Đời kiếp này quá ngắn ngủi, không nói đủ thâm tình như băng tuyết không tan
Đợi một ngày em chợt hiện ra, như Baikal hồ trong veo thần bí
Day-dreaming
Đây là tiêu biểu kiểu dịch tên địa danh quốc tế ra tiếng nước mẹ
Baikal thành bei jia er, Bối Gia Nhĩ, chẳng nghĩa mẹ gì
trong văn viết lại không có kiểu viết hoa như kiểu Giùn...ko đoán được trừ phải đi gúc
Sao Sɷlɷ
Thank you Zi and Co Thien Co for the wonderful discussion about AI and ML.
choi xong dong
Hi chi bộ Bựa, cuối tuần rồi chuyển qua kênh văn nghệ tí nhỉ.
Bob Marley - Redemption Song
[youtube=https://www.youtube.com/watch?v=Md8EesTaIsA]
Lìng Tình Phìng
Hehe sau 5 phút máy đùi vẫn đang pending
[im]https://1.bp.blogspot.com/-gZ8TkwCsshc/XsAUBiqnMuI/AAAAAAAAEvg/9MLA8o-ZKmcn3OLqqeKR4sthIgoHy4bhACLcBGAsYHQ/s1600/pending.png[/im]
Lìng Tình Phìng
Ra quãng 1.71. Lệch còn hơn của Zì. Túm lại copy paste cũng biết sơ cách đánh lười biếng tuy chưa hiểu mấy hehe.
[im]https://1.bp.blogspot.com/-ZW-cV6MdXqI/XsAW7j8CUvI/AAAAAAAAEvs/sASLmEMKV4g8XcXbVXTWGESfAAiPVPSYgCLcBGAsYHQ/s1600/done.png[/im]
Lìng Tình Phìng
Cái lệnh này:
model.predict(tf.tensor2d([1, 1], [1, 2])).print();
Nó có thể chạy luôn mà không cần phải bắt máy học? Mỗi tội kết quả hên xui? Như hình dưới đây bỏ đi lệnh bắt máy học 5000 lần.
[im]https://1.bp.blogspot.com/-x0VMbjnTP8E/XsAZdL2Yz2I/AAAAAAAAEv4/3DxMNmXdBpAWAH4E4oq48I9c-pVTf2YTQCLcBGAsYHQ/s1600/test%2B2.png[/im]
Lìng Tình Phìng
Cô nào muốn học Đạisố tuyếntính làm nền có thể tham khảo playlist nài:
https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab
Lìng Tình Phìng
Ref: Asinerum Project Commander (4726)
Đúng rồi Zì. E có hiểu lúc resolved là máy nó học xong 5000 lần với 5 cặp mẫu kia.
Còn nếu vô học aka bỏ lệnh model.fit() thì em thử vài lần rồi, kết quả hên xui. Lúc < 0, lúc >1
Tiểu Mỡ
Ref: choi xong dong (4708)
Em về rồi nè, anh Choi, haha ,
Về xem Vý, thấy anh Choi đút cho 10.69204 XUT , Vui đéo tả nổi,
Lắc nào Choiii oiiii
[youtube=https://www.youtube.com/watch?v=KfXEjS7-UFs]
mec xi cu cu
Tiểu Mỡ
Ref: vnusaengland nguyen (4652)
à, Còn anh V-nú nữa, 3 lần Vote lận .
Lúc nào anh buồn, cần thơ để thở thì nhớ Tới Mỡ nhơ. hahaha
vờn nhau tí nào
[youtube=https://www.youtube.com/watch?v=sBhWxgOLRwo]
Day-dreaming
Zì ơi em đếc hiểu gì, nhwung vẫn cốp bết vô cùng cẩn thận, biết có người rất cần mà giờ con cỏn vẫn ko để tâm...để chờ có ngày
Day-dreaming
Ref: Tiểu Mỡ (4731)
Thế Mỡ biết vần cái món này đến độ nào rồi....Vần hay thế này mà miệ, giờ rủ bọn mem đi vần mà toàn thấy thíc nhậu nhẹt hơn thôi à.
An Phong
Ref: Asinerum Project Commander (4707)
Xưa tôi cũng hới mưng có theo khóa học của anh Andrew Ng được nửa chừng thì ù mẹ tai không theo nổi nữa. Nghĩ lại vẫn thấy xấu hổ nên chả bao giờ dám mở miệng gì về AI.
Thôi cúi đầu lạy Zì và Cô Thiên Cơ một lạy. Để tôi bắt đầu mò mẫm lại.
Sao Sɷlɷ
Zì giảng thánh quá.
Học về AI thì không vội được.
AI 20-niên nữa sẽ rất khủng khiếp. Chúng mình không đứng ngoài và thờ ơ được đâu.
Antonio Tran
Ref: Asinerum Project Commander (4668)
Thành Zì và cø Thiєn Cə vє̀ nhw̃ng loät cø̀ng chʌ́t lïm vє̀ AI/ML.
Đã có anh bò nào thw̑ və́i cú training bя̀ng 2 triє̈u chwa nhє̑ ?
Anh có thя́c mя́c là və́i cú training là 2 triє̈u [co="#FF0000"]result = 1,885[/co] , còn training là 200 ngàn thì result läi sexy hən = [co="#FF0000"]result = 1,896[/co].
Link test : https://repl.it/@TonyTran2/BuaML
Gia Ngua
Zì kính yêu còn baonhiêu ấpủ làm sao cóthể mỏi gối chùnchân.
Gia Ngua
Cáy dcm Bê bỏn tính giáđiện kiểu éo gì tôi 3-4 chỗ chỗ nào cũng tăng gần gấp đôi. Kiểu này chắc nghiên cứu vụ lắp tấm nănglượng mặttrời mà xài chứ sống thế đéo nào được với Bê nhỉ
Tiểu Mỡ
Ref: Day-dreaming (4733)
Mỡ không học môn này mà chủ yếu tập Gym thoy,
Môn này Mỡ thờ ơ lắm, vì rằng đi tập Gym cầm ta sướng hơn ôm eo chăng, hyhy
-------
Bạn Minh đu môn này à? rèn môn này, thi thoảng tiệc tùng lên bung vài bước cho dân trầm trồ.
Có bận lò mổ cũ tổ chức party, có 1 VS hứng thú với các dancer , đã lên nhảy làm cả bọn trầm trồ - há mồm vì khả năng nhảy dẻo - uốn lượn cơ của của ẻm,
Mộ quá, !!!
Tiểu Mỡ
Ref: Asinerum Project Commander (4736)
Dỳ trao giải rồi à??
Em tưởng em cắn giải phụ thôi chứ,
Vú À vý em đây, cảm tạ Zỳ,
-- Chân thành cảm ơn các Bựa đã chấm bài cho Mỡ,
Sự hào sảng của các Bựa làm MỠ rung động tận đáy con tym
Thưa Dỳ, em xòe vý
[xut=0xf7638e5cb4ad5bC2F4419ba9a54D4cDE28758E0B-001]
Day-dreaming
Ref: Asinerum Project Commander (4736)
Dạ ví em đây, vinh dự quá
[xut=0x9fC06928c3e473da801c0Bc6fDe0febEEF67fF5A]
Đong Xèng
Được Zì trao giải sướng rung cả lông bẹn, hehe. Tạ Zì Tạ Zì
[xut=0x61d12450e1dF6EA33919198722725f87b31B777e]
Gia Ngua
Xut Của tôi đây thưa Zì.
[xut=0x3C861deE28Dd907afD1EBCC4C5Cf2bEAfe76C410]
Joannes-Baptistae Theologus
Thành Zì và anh Thiên Cơ về bài giảng ML/AI thật hay. Tôi trình còi nên đọc vào chỉ hiểu được ý tưởng tổng quan thôi.
Tôi cũng đang lọ mọ học món này, nên bốt thử bài giải bằng Python tính bình phương số thập phân như sau:
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam
from keras import regularizers
model = Sequential()
model.add(Dense(8, activation='relu', kernel_regularizer=regularizers.l2(0.001), input_shape = (1,)))
model.add(Dense(8, activation='relu', kernel_regularizer=regularizers.l2(0.001)))
model.add(Dense(1))
model.compile(optimizer=Adam(),loss='mse')
# generate 10,000 random numbers in [-50, 50], along with their squares
x = np.random.random((10000,1))*100-50
y = x**2
# fit the model, keeping 2,000 samples as validation set
hist = model.fit(x,y,validation_split=0.2,
epochs= 15000,
batch_size=256)
# check some predictions:
print(model.predict([4, -4, 11, 20, 8, -5]))
# result:
[[ 16.633354]
[ 15.031291]
[121.26833 ]
[397.78638 ]
[ 65.70035 ]
[ 27.040245]]
pe^te^211
Cảm ơn Zì bím hồng đã khen và thưởng.
Zì chờ anh chút để tạo ví đựng.
Lìu Tìu
Hômnay, 21 tháng 5, sinhnhật quán.
Chúc Zì sứckhỏe.
Chúc bọn bù-bựa họchành ngày càng tấntới.
Mr.Trying
Hôm nay sinh nhật quán Bựa ah, Chúc Gì và các Bựa luôn bình an, hạnh phúc và may mắn!
Mr.Trying
Ngày này cách đây một cơ số năm, tôi đã đánh mất một người con gái đến giờ tôi vẫn hoài niệm thương nhớ và bồi hồi xót xa.
Ngày đó, tôi dân quê lên tỉnh học, dân nông thôn miền trung nắng gió luôn mang trong mình sự tự ti mặc cảm và tự ái vặt vảnh và sỉ diện vớ vẫn. hehe. nhiều khi nghỉ lại thấy xấu hổ quá.
Tôi vốn dĩ, không ưa đi học chỉ mong đi lên thành phố đong xèng như những nam thanh nữ tú cùng quê. Đến Tết đứng ở ngã ba đường làng khệnh khạng kể chuyện trên trời dưới bể. nên lên phố cái là tôi chăm chăm lao đi làm thêm Nhưng may sao tôi cứ mỗi lần đến kỳ thì là được ngồi với thằng bạn bốn mắt, răng vẫu nên điểm số tôi cũng khá cao.
Nên kỳ kiến tập năm đó, tôi cũng được xếp chung nhóm, mà tụi lớp tôi hồi đó cứ quen gọi là nhóm nhà trắng. Vì nhóm tôi toàn còn nhà giàu học giỏi, xinh đẹp và thơm tho. Chỉ lọt trong đó có tôi và thằng bạn bốn mắt nhưng thông minh đéo tả, nó mà làm tính nhẩm thì nhanh hơn bẻ que. Cái gì nó cũng đéo biết chỉ đến lúc cộng tiền ăn, chia nhau là tôi mới phục tài nó. hehe
Tôi cứ thế lặng lẽ lặng lẽ, cũng chả hòa nhập gì. Thời đó thực tập về quê nên ở nhà một nhà dân. Lớp tập trung tham quan cảnh xung quanh, tối cứ nằm lầm lỳ ở nhà. Cảnh quê thì với tôi nó thường lắm, có mẹ gì mà phải đi xem giữa trời đang nắng.
Được cái, tôi quen chân lắm tay bùn nên nhà cô chú có việc gì tôi cũng xung phong phụ giúp, sửa bóng đèn, vặn lại cái xe tôi cũng lăn săn lăn săn.
Rồi một đêm thu không có cái lá vàng nào rơi, trời tối như bao đêm chẳng có mẹ gì hay thì bổng nghe tiếng ầm ĩ. Tôi cũng kệ, nằm đọc mấy quyển sách cũ mua ở vệ đường. Tôi nghe tiếng bọn con gái vừa chạy vè vùa khóc oe oe, tôi mới bước ra chủ yếu tôi định xem thế nào thôi, chứ ngữ như tôi làm sao có cửa an ủi. hu hu tủi thân quá.
Tôi đang ngó nghiêng thì một đám trai làng cầm gậy chạy vào nhà tìm mấy thằng choai lớp tôi. Cả nhóm cả bọn con trai trốn biệt, mỗi tôi ở nhà, thằng răng vẫu hôm nay cũng dỡ chứng lên xóm nhà lá chơi với thằng bạn cùng quê chưa về. Bon trai làng nhìn tôi một lượt định tóm lấy tôi thì cô chú chủ nhà bảo tôi tối giờ vẫn ở nhà, và mấy bọn con gái khóc oe oe dữ quá nên bọn nó bỏ đi. Sau đó, bọn con gái mới kể mấy đứa con trai trên xóm nhà lá bị đánh chảy máu cần đưa hòm sơ cứu lên. Tôi cứ sợ thằng bạn răng vẫu thần hộ mệnh mỗi kỳ thi của tôi có mệnh hệ gì thi tôi biết bấu vướu vào đâu nên tôi xung phong đi. Mà thực ra, tôi nói xung phong là nói cho oai đấy thôi, chứ còn mỗi tôi nam nhi đại trượng phu đương nhiên là phải đương đầu với thử thách chông gai rồi phỏng các bựa ? Tôi đang lúi húi chuẩn bị cái chổi cùn đốt lên soi tỏ con đường cách mệnh tôi sắp bước, thì bổng em nhẹ nhàng đế bên tôi thì thầm bảo M đi cùng H nhé. Trong tình huống của tôi, đi một đoạn đường dài gần cả cây số, đường quê xa thăm thẳm có người đi cùng thì sướng biết bao nhiêu, huống gì lại có người đẹp nhất lớp đi cùng. Tính tôi vốn cả nể, đặc biệt là đối với con gái đẹp nên đương nhiên là tôi đồng ý. Thế là hai tôi lặng lẽ bước đều bước dưới ánh sáng của cây chổi cùn, mà lòng như bừng nắng hạ.
Day-dreaming
Ref: Mr.Trying (4751)
Ủa bốt nốt đi chớ.. hay cảm xúc quá tay phím nọ bấm phím kia...
vnusaengland nguyen
Ref: Mr.Trying (4751)
Ơ, sao đang post lại bắt chước thím nào rặnỉa mý khuấybột thế.
Giùn gộc
Rồi lại kèn sáo, mút cu vang-lừng, chi-bộ mong chờ đéo gì chuyện ngun-tình 3xu ngập-ngụa cõi mạng?
Mời a Thông Ba-nhan ngoi lên, biên chuyện địt phò Đông-Hoản, đá phạch gái Quất-Lâm quê nhà, nom hấp-dẫn hơn.
AnKhang
Chuyện tình cảm tình iêu thì muôn hình vạn trạng; chung quy về các giai đoạn của cuộc đời nó cơ bản như nhau...
Con đực thì phải thể hiện sự mạnh mẽ để thu hút con cái; và con cái thì luôn muốn cuốn riết con đực mà đã chấm chọn... Chúa đã quy định các mã gen ấy trong từng con...
Khi còn trẻ và nghèo, thiếu thực tế thì con đực hay cái thích và chịch, tận hưởng tuổi trẻ và gánh luôn hậu quả cho việc nghèo và thiếu thực tế ấy (dính bầu, bệnh tật...)
Khi trưởng thành, con đực nào thể hiện được gen mà Chúa quy định, thì biết vươn lên khẳng định bản thân, bằng sức khỏe, tiền tài, quyền lực... những cái ấy thu hút các con cái nhiều hơn; và con đực được lựa chọn...
Con đực nào không phát huy được gen Chúa quy định, thì thành loser; chia làm hai trạng thái, dạng một là bất mãn, xã hội giờ gọi là nát. Một dạng khác, thì có tí tri thức, tự biết không nên làm khổ các con cái (vì không mang được cuộc sống vật chất tinh thần tốt hơn cho con cái); thì con đực tự lui và thậm chí "tự cung" để ưu tiên năng lượng cho việc phát huy cái gen mà Chúa quy định (vươn lên)...
Chung quy vòng đời của con đực là thế; tự các Bựa nhân xem mình đang ở giai đoạn nào trong mối quan hệ với con cái...; và tự tìm cách mà phát huy cái Gen mà Chúa đã cài ở trong cơ địa mình...
Còn cái thì tôi không bàn, vì tôi là đực; hehe
Freedom
Zì dâu gồi. Chi bựa bốt tạm qua bên này đi, cáy dcm.
Trọc - Lao công
Ref: Freedom (4757)
Giờ này biết thế lồn nào được. Ít nhất 3 bang chiến trường trump đang lợi thế hơn chút. Nhưng dân thì chưa đi làm về chờ thêm xíu.
Mà dcm nó chứ toàn bọn big tech - big star - big pharma - tỷ phú cánh tả - big media đứng ra tranh cử cho con đầu bò luôn mới vãi lồn. Mới đầu vào thấy xanh lét hết hồn hehe
Trọc - Lao công
Lại có vụ đồng loạt nhiều máy bỏ phiếu tự động hỏng mới vãi lồn chứ. Đéo mẹ xếp hàng quá giờ cũng bú cặc. Bọn dems chiêu lồn gì cũng chơi
Post a Comment
RICH COMMENT EDITOR