ਸਾਨੂੰ ਬਹੁਤ ਸਾਰੀਆਂ ਅਸਲ-ਸੰਸਾਰੀ ਸਥਿਤੀਆਂ ਵਿੱਚ ਅਨੁਕੂਲਨ ਸਮੱਸਿਆਵਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ ਜਿੱਥੇ ਸਾਨੂੰ ਇੱਕ ਫੰਕਸ਼ਨ ਦੀ ਘੱਟੋ-ਘੱਟ ਜਾਂ ਵੱਧ ਤੋਂ ਵੱਧ ਪਛਾਣ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਕਿਸੇ ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਸਿਸਟਮ ਦੀ ਗਣਿਤਿਕ ਪ੍ਰਤੀਨਿਧਤਾ ਵਜੋਂ ਮੰਨੋ, ਅਤੇ ਇਸਦਾ ਘੱਟੋ-ਘੱਟ ਜਾਂ ਵੱਧ ਤੋਂ ਵੱਧ ਨਿਰਧਾਰਨ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਜਿਵੇਂ ਕਿ ਮਸ਼ੀਨ ਸਿਖਲਾਈ, ਇੰਜੀਨੀਅਰਿੰਗ, ਵਿੱਤ, ਅਤੇ ਹੋਰਾਂ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੋ ਸਕਦਾ ਹੈ।
ਪਹਾੜੀਆਂ ਅਤੇ ਵਾਦੀਆਂ ਵਾਲੇ ਲੈਂਡਸਕੇਪ 'ਤੇ ਵਿਚਾਰ ਕਰੋ, ਅਤੇ ਸਾਡਾ ਟੀਚਾ ਜਿੰਨੀ ਜਲਦੀ ਹੋ ਸਕੇ ਆਪਣੀ ਮੰਜ਼ਿਲ 'ਤੇ ਪਹੁੰਚਣ ਲਈ ਸਭ ਤੋਂ ਨੀਵਾਂ ਬਿੰਦੂ (ਘੱਟੋ-ਘੱਟ) ਲੱਭਣਾ ਹੈ।
ਅਸੀਂ ਅਜਿਹੀਆਂ ਅਨੁਕੂਲਨ ਚੁਣੌਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਅਕਸਰ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਾਂ। ਇਹ ਐਲਗੋਰਿਦਮ ਉੱਚਤਮ ਉਤਰਾਈ (ਨਕਾਰਾਤਮਕ ਗਰੇਡੀਐਂਟ) ਦੀ ਦਿਸ਼ਾ ਵਿੱਚ ਕਦਮ ਚੁੱਕ ਕੇ ਇੱਕ ਫੰਕਸ਼ਨ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਕਰਨ ਲਈ ਦੁਹਰਾਉਣ ਵਾਲੇ ਅਨੁਕੂਲਨ ਢੰਗ ਹਨ।
ਗਰੇਡੀਐਂਟ ਫੰਕਸ਼ਨ ਵਿੱਚ ਸਭ ਤੋਂ ਤੇਜ਼ ਵਾਧੇ ਦੇ ਨਾਲ ਦਿਸ਼ਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ ਉਲਟ ਦਿਸ਼ਾ ਵਿੱਚ ਯਾਤਰਾ ਕਰਨਾ ਸਾਨੂੰ ਨਿਊਨਤਮ ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ।
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਐਲਗੋਰਿਦਮ ਅਸਲ ਵਿੱਚ ਕੀ ਹੈ?
ਗਰੇਡੀਐਂਟ ਡਿਸੇਂਟ ਇੱਕ ਫੰਕਸ਼ਨ ਦੇ ਨਿਊਨਤਮ (ਜਾਂ ਅਧਿਕਤਮ) ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਇੱਕ ਪ੍ਰਸਿੱਧ ਦੁਹਰਾਓ ਅਨੁਕੂਲਨ ਪਹੁੰਚ ਹੈ।
ਇਹ ਕਈ ਖੇਤਰਾਂ ਵਿੱਚ ਇੱਕ ਨਾਜ਼ੁਕ ਸਾਧਨ ਹੈ, ਸਮੇਤ ਮਸ਼ੀਨ ਸਿਖਲਾਈ, ਡੂੰਘੀ ਸਿਖਲਾਈ, ਨਕਲੀ ਬੁੱਧੀ, ਇੰਜੀਨੀਅਰਿੰਗ, ਅਤੇ ਵਿੱਤ।
ਐਲਗੋਰਿਦਮ ਦਾ ਮੂਲ ਸਿਧਾਂਤ ਇਸਦੇ ਗਰੇਡੀਐਂਟ ਦੀ ਵਰਤੋਂ 'ਤੇ ਅਧਾਰਤ ਹੈ, ਜੋ ਫੰਕਸ਼ਨ ਦੇ ਮੁੱਲ ਵਿੱਚ ਸਭ ਤੋਂ ਤਿੱਖੇ ਵਾਧੇ ਦੀ ਦਿਸ਼ਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਐਲਗੋਰਿਦਮ ਕੁਸ਼ਲਤਾ ਨਾਲ ਫੰਕਸ਼ਨ ਦੇ ਲੈਂਡਸਕੇਪ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਵੱਲ ਨੈਵੀਗੇਟ ਕਰਦਾ ਹੈ, ਗਰੇਡੀਐਂਟ ਦੇ ਤੌਰ 'ਤੇ ਉਲਟ ਦਿਸ਼ਾ ਵਿੱਚ ਵਾਰ-ਵਾਰ ਕਦਮ ਚੁੱਕਦਾ ਹੈ, ਕਨਵਰਜੈਂਸ ਹੋਣ ਤੱਕ ਹੱਲ ਨੂੰ ਦੁਹਰਾਓ ਸੁਧਾਰ ਕਰਦਾ ਹੈ।
ਅਸੀਂ ਗਰੇਡੀਐਂਟ ਡੀਸੈਂਟ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਕਿਉਂ ਕਰਦੇ ਹਾਂ?
ਸ਼ੁਰੂਆਤ ਕਰਨ ਵਾਲਿਆਂ ਲਈ, ਉਹਨਾਂ ਦੀ ਵਰਤੋਂ ਉੱਚ-ਆਯਾਮੀ ਸਪੇਸ ਅਤੇ ਗੁੰਝਲਦਾਰ ਫੰਕਸ਼ਨਾਂ ਸਮੇਤ ਕਈ ਤਰ੍ਹਾਂ ਦੀਆਂ ਅਨੁਕੂਲਨ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਦੂਜਾ, ਉਹ ਤੇਜ਼ੀ ਨਾਲ ਅਨੁਕੂਲ ਹੱਲ ਲੱਭ ਸਕਦੇ ਹਨ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਵਿਸ਼ਲੇਸ਼ਣਾਤਮਕ ਹੱਲ ਉਪਲਬਧ ਨਾ ਹੋਵੇ ਜਾਂ ਗਣਨਾਤਮਕ ਤੌਰ 'ਤੇ ਮਹਿੰਗਾ ਹੋਵੇ।
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਤਕਨੀਕਾਂ ਬਹੁਤ ਜ਼ਿਆਦਾ ਮਾਪਯੋਗ ਹਨ ਅਤੇ ਬਹੁਤ ਸਾਰੇ ਡੇਟਾਸੈਟਾਂ ਨੂੰ ਸਫਲਤਾਪੂਰਵਕ ਸੰਭਾਲ ਸਕਦੀਆਂ ਹਨ।
ਨਤੀਜੇ ਵਜੋਂ, ਉਹ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਐਲਗੋਰਿਦਮ ਜਿਵੇਂ ਕਿ ਡਾਟੇ ਤੋਂ ਸਿੱਖਣ ਲਈ ਨਿਊਰਲ ਨੈੱਟਵਰਕਾਂ ਨੂੰ ਸਿਖਲਾਈ ਦੇਣਾ ਅਤੇ ਭਵਿੱਖਬਾਣੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਘੱਟ ਕਰਨ ਲਈ ਉਹਨਾਂ ਦੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਸੋਧਣਾ।
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਸਟੈਪਸ ਦੀ ਵਿਸਤ੍ਰਿਤ ਉਦਾਹਰਨ
ਆਉ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਤਕਨੀਕ ਦੀ ਬਿਹਤਰ ਸਮਝ ਲਈ ਇੱਕ ਹੋਰ ਵਿਸਤ੍ਰਿਤ ਉਦਾਹਰਨ ਵੇਖੀਏ।
2D ਫੰਕਸ਼ਨ f(x) = x2 'ਤੇ ਗੌਰ ਕਰੋ, ਜੋ ਘੱਟੋ-ਘੱਟ (0,0) 'ਤੇ ਇੱਕ ਬੁਨਿਆਦੀ ਪੈਰਾਬੋਲਿਕ ਕਰਵ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਨਿਊਨਤਮ ਬਿੰਦੂ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਗਰੇਡੀਐਂਟ ਡੀਸੈਂਟ ਐਲਗੋਰਿਦਮ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇਗੀ।
ਕਦਮ 1: ਸ਼ੁਰੂਆਤ
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਐਲਗੋਰਿਦਮ ਵੇਰੀਏਬਲ x ਦੇ ਮੁੱਲ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਦੁਆਰਾ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਨੂੰ x0 ਵਜੋਂ ਦਰਸਾਇਆ ਜਾਂਦਾ ਹੈ।
ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ ਦਾ ਐਲਗੋਰਿਦਮ ਦੇ ਪ੍ਰਦਰਸ਼ਨ 'ਤੇ ਕਾਫ਼ੀ ਪ੍ਰਭਾਵ ਪੈ ਸਕਦਾ ਹੈ।
ਬੇਤਰਤੀਬ ਸ਼ੁਰੂਆਤ ਜਾਂ ਸਮੱਸਿਆ ਦਾ ਪਹਿਲਾਂ ਤੋਂ ਗਿਆਨ ਲੈਣਾ ਦੋ ਆਮ ਤਕਨੀਕਾਂ ਹਨ। ਮੰਨ ਲਓ ਕਿ ਸਾਡੇ ਕੇਸ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ x₀ = 3।
ਕਦਮ 2: ਗਰੇਡੀਐਂਟ ਦੀ ਗਣਨਾ ਕਰੋ
ਮੌਜੂਦਾ ਸਥਿਤੀ x₀ 'ਤੇ ਫੰਕਸ਼ਨ f(x) ਦਾ ਗਰੇਡੀਐਂਟ। ਫਿਰ ਗਣਨਾ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ.
ਗਰੇਡੀਐਂਟ ਉਸ ਵਿਸ਼ੇਸ਼ ਸਥਿਤੀ 'ਤੇ ਫੰਕਸ਼ਨ ਦੀ ਢਲਾਣ ਜਾਂ ਤਬਦੀਲੀ ਦੀ ਦਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਅਸੀਂ ਫੰਕਸ਼ਨ f(x) = x2 ਲਈ x ਬਾਰੇ ਡੈਰੀਵੇਟਿਵ ਦੀ ਗਣਨਾ ਕਰਦੇ ਹਾਂ, ਜੋ f'(x) = 2x ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਅਸੀਂ ਗਰੇਡੀਐਂਟ ਗਣਨਾ ਵਿੱਚ x₀ = 0 ਨੂੰ ਬਦਲ ਕੇ 2 * 3 = 6 ਦੇ ਰੂਪ ਵਿੱਚ x3 'ਤੇ ਗਰੇਡੀਐਂਟ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਾਂ।
ਕਦਮ 3: ਮਾਪਦੰਡ ਅੱਪਡੇਟ ਕਰੋ
ਗਰੇਡੀਐਂਟ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ x ਦੇ ਮੁੱਲ ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਅੱਪਡੇਟ ਕਰਦੇ ਹਾਂ: x = x₀ – α * f'(x₀), ਜਿੱਥੇ α (ਅਲਫ਼ਾ) ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਸਿੱਖਣ ਦੀ ਦਰ ਇੱਕ ਹਾਈਪਰਪੈਰਾਮੀਟਰ ਹੈ ਜੋ ਅੱਪਡੇਟ ਕਰਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹਰੇਕ ਪੜਾਅ ਦਾ ਆਕਾਰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ। ਇੱਕ ਢੁਕਵੀਂ ਸਿੱਖਣ ਦੀ ਦਰ ਨਿਰਧਾਰਤ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਹੌਲੀ ਸਿੱਖਣ ਦੀ ਦਰ ਕਾਰਨ ਹੋ ਸਕਦੀ ਹੈ ਐਲਗੋਰਿਥਮ ਘੱਟੋ-ਘੱਟ ਤੱਕ ਪਹੁੰਚਣ ਲਈ ਬਹੁਤ ਸਾਰੇ ਦੁਹਰਾਓ ਲੈਣ ਲਈ।
ਦੂਜੇ ਪਾਸੇ, ਉੱਚ ਸਿੱਖਣ ਦੀ ਦਰ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਐਲਗੋਰਿਦਮ ਉਛਾਲ ਜਾਂ ਕਨਵਰਜ ਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦਾ ਹੈ। ਆਉ ਇਸ ਉਦਾਹਰਨ ਲਈ α = 0.1 ਦੀ ਸਿੱਖਣ ਦੀ ਦਰ ਮੰਨੀਏ।
ਕਦਮ 4: ਦੁਹਰਾਓ
ਸਾਡੇ ਕੋਲ x ਦਾ ਅੱਪਡੇਟ ਮੁੱਲ ਹੋਣ ਤੋਂ ਬਾਅਦ, ਅਸੀਂ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਸੰਖਿਆ ਦੇ ਦੁਹਰਾਓ ਲਈ ਜਾਂ ਜਦੋਂ ਤੱਕ x ਵਿੱਚ ਤਬਦੀਲੀ ਨਿਊਨਤਮ ਨਹੀਂ ਹੋ ਜਾਂਦੀ, ਕਨਵਰਜੈਂਸ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹੋਏ, ਅਸੀਂ ਕਦਮ 2 ਅਤੇ 3 ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਹਾਂ।
ਵਿਧੀ ਗਰੇਡੀਐਂਟ ਦੀ ਗਣਨਾ ਕਰਦੀ ਹੈ, x ਦੇ ਮੁੱਲ ਨੂੰ ਅੱਪਡੇਟ ਕਰਦੀ ਹੈ, ਅਤੇ ਹਰੇਕ ਦੁਹਰਾਅ 'ਤੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਜਾਰੀ ਰੱਖਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਇਹ ਘੱਟੋ-ਘੱਟ ਦੇ ਨੇੜੇ ਜਾ ਸਕਦੀ ਹੈ।
ਕਦਮ 5: ਕਨਵਰਜੈਂਸ
ਤਕਨੀਕ ਕੁਝ ਦੁਹਰਾਓ ਤੋਂ ਬਾਅਦ ਇੱਕ ਬਿੰਦੂ ਤੇ ਬਦਲ ਜਾਂਦੀ ਹੈ ਜਿੱਥੇ ਹੋਰ ਅੱਪਡੇਟ ਫੰਕਸ਼ਨ ਦੇ ਮੁੱਲ ਨੂੰ ਭੌਤਿਕ ਤੌਰ 'ਤੇ ਪ੍ਰਭਾਵਤ ਨਹੀਂ ਕਰਦੇ ਹਨ।
ਸਾਡੇ ਕੇਸ ਵਿੱਚ, ਜਿਵੇਂ ਕਿ ਦੁਹਰਾਓ ਜਾਰੀ ਹੈ, x 0 ਤੱਕ ਪਹੁੰਚ ਜਾਵੇਗਾ, ਜੋ ਕਿ f(x) = x^2 ਦਾ ਨਿਊਨਤਮ ਮੁੱਲ ਹੈ। ਕਨਵਰਜੈਂਸ ਲਈ ਜ਼ਰੂਰੀ ਦੁਹਰਾਓ ਦੀ ਗਿਣਤੀ ਕਾਰਕਾਂ ਦੁਆਰਾ ਨਿਰਧਾਰਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਚੁਣੀ ਗਈ ਸਿੱਖਣ ਦੀ ਦਰ ਅਤੇ ਅਨੁਕੂਲਿਤ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਫੰਕਸ਼ਨ ਦੀ ਗੁੰਝਲਤਾ।
ਸਿੱਖਣ ਦੀ ਦਰ ਦੀ ਚੋਣ ਕਰਨਾ ()
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਐਲਗੋਰਿਦਮ ਦੀ ਪ੍ਰਭਾਵਸ਼ੀਲਤਾ ਲਈ ਇੱਕ ਸਵੀਕਾਰਯੋਗ ਸਿੱਖਣ ਦੀ ਦਰ () ਦੀ ਚੋਣ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਘੱਟ ਸਿੱਖਣ ਦੀ ਦਰ ਹੌਲੀ ਕਨਵਰਜੈਂਸ ਨੂੰ ਪ੍ਰੇਰਿਤ ਕਰ ਸਕਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਉੱਚ ਸਿੱਖਣ ਦੀ ਦਰ ਓਵਰਸ਼ੂਟਿੰਗ ਅਤੇ ਇਕਸਾਰ ਹੋਣ ਵਿੱਚ ਅਸਫਲਤਾ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀ ਹੈ।
ਸਹੀ ਸੰਤੁਲਨ ਲੱਭਣਾ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿ ਐਲਗੋਰਿਦਮ ਵੱਧ ਤੋਂ ਵੱਧ ਕੁਸ਼ਲਤਾ ਨਾਲ ਇੱਛਤ ਘੱਟੋ-ਘੱਟ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ।
ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਟਿਊਨਿੰਗ ਕਰਨਾ ਅਭਿਆਸ ਵਿੱਚ ਅਕਸਰ ਇੱਕ ਅਜ਼ਮਾਇਸ਼-ਅਤੇ-ਤਰੁੱਟੀ ਪ੍ਰਕਿਰਿਆ ਹੁੰਦੀ ਹੈ। ਖੋਜਕਰਤਾ ਅਤੇ ਪ੍ਰੈਕਟੀਸ਼ਨਰ ਨਿਯਮਿਤ ਤੌਰ 'ਤੇ ਵੱਖ-ਵੱਖ ਸਿੱਖਣ ਦੀਆਂ ਦਰਾਂ ਨਾਲ ਇਹ ਦੇਖਣ ਲਈ ਪ੍ਰਯੋਗ ਕਰਦੇ ਹਨ ਕਿ ਉਹ ਆਪਣੀ ਖਾਸ ਚੁਣੌਤੀ 'ਤੇ ਐਲਗੋਰਿਦਮ ਦੇ ਕਨਵਰਜੈਂਸ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ।
ਗੈਰ-ਕਨਵੈਕਸ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣਾ
ਜਦੋਂ ਕਿ ਪਿਛਲੀ ਉਦਾਹਰਨ ਵਿੱਚ ਇੱਕ ਸਧਾਰਨ ਕਨਵੈਕਸ ਫੰਕਸ਼ਨ ਸੀ, ਬਹੁਤ ਸਾਰੇ ਅਸਲ-ਸੰਸਾਰ ਅਨੁਕੂਲਨ ਮੁੱਦਿਆਂ ਵਿੱਚ ਬਹੁਤ ਸਾਰੇ ਸਥਾਨਕ ਮਿਨੀਮਾ ਦੇ ਨਾਲ ਗੈਰ-ਉੱਤਲ ਫੰਕਸ਼ਨ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ।
ਅਜਿਹੇ ਮਾਮਲਿਆਂ ਵਿੱਚ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ, ਵਿਧੀ ਗਲੋਬਲ ਨਿਊਨਤਮ ਦੀ ਬਜਾਏ ਇੱਕ ਸਥਾਨਕ ਘੱਟੋ-ਘੱਟ ਵਿੱਚ ਬਦਲ ਸਕਦੀ ਹੈ।
ਇਸ ਮੁੱਦੇ ਨੂੰ ਦੂਰ ਕਰਨ ਲਈ ਗਰੇਡੀਐਂਟ ਡਿਸੇਂਟ ਦੇ ਕਈ ਉੱਨਤ ਰੂਪ ਵਿਕਸਿਤ ਕੀਤੇ ਗਏ ਹਨ। ਸਟੋਚੈਸਟਿਕ ਗਰੇਡੀਐਂਟ ਡੀਸੈਂਟ (SGD) ਇੱਕ ਅਜਿਹਾ ਤਰੀਕਾ ਹੈ ਜੋ ਹਰੇਕ ਦੁਹਰਾਅ 'ਤੇ ਗਰੇਡੀਐਂਟ ਦੀ ਗਣਨਾ ਕਰਨ ਲਈ ਡੇਟਾ ਪੁਆਇੰਟਾਂ (ਇੱਕ ਮਿੰਨੀ-ਬੈਚ ਵਜੋਂ ਜਾਣਿਆ ਜਾਂਦਾ ਹੈ) ਦੇ ਇੱਕ ਬੇਤਰਤੀਬ ਸਬਸੈੱਟ ਨੂੰ ਚੁਣ ਕੇ ਬੇਤਰਤੀਬਤਾ ਨੂੰ ਪੇਸ਼ ਕਰਦਾ ਹੈ।
ਇਹ ਬੇਤਰਤੀਬ ਨਮੂਨਾ ਐਲਗੋਰਿਦਮ ਨੂੰ ਸਥਾਨਕ ਮਿਨੀਮਾ ਤੋਂ ਬਚਣ ਅਤੇ ਫੰਕਸ਼ਨ ਦੇ ਭੂਮੀ ਦੇ ਨਵੇਂ ਹਿੱਸਿਆਂ ਦੀ ਪੜਚੋਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਇੱਕ ਬਿਹਤਰ ਨਿਊਨਤਮ ਖੋਜਣ ਦੀਆਂ ਸੰਭਾਵਨਾਵਾਂ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।
ਐਡਮ (ਅਡੈਪਟਿਵ ਮੋਮੈਂਟ ਐਸਟੀਮੇਸ਼ਨ) ਇੱਕ ਹੋਰ ਪ੍ਰਮੁੱਖ ਪਰਿਵਰਤਨ ਹੈ, ਜੋ ਕਿ ਇੱਕ ਅਨੁਕੂਲ ਸਿੱਖਣ ਦੀ ਦਰ ਅਨੁਕੂਲਨ ਪਹੁੰਚ ਹੈ ਜੋ RMSprop ਅਤੇ ਮੋਮੈਂਟਮ ਦੋਵਾਂ ਦੇ ਲਾਭਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਦੀ ਹੈ।
ਐਡਮ ਪਿਛਲੀ ਗਰੇਡੀਐਂਟ ਜਾਣਕਾਰੀ ਦੇ ਆਧਾਰ 'ਤੇ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਹਰੇਕ ਪੈਰਾਮੀਟਰ ਲਈ ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਸੰਸ਼ੋਧਿਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਗੈਰ-ਉੱਤਲ ਫੰਕਸ਼ਨਾਂ 'ਤੇ ਬਿਹਤਰ ਕਨਵਰਜੈਂਸ ਹੋ ਸਕਦਾ ਹੈ।
ਇਹ ਸੂਝਵਾਨ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਭਿੰਨਤਾਵਾਂ ਵਧਦੇ ਗੁੰਝਲਦਾਰ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਸਾਬਤ ਹੋਈਆਂ ਹਨ ਅਤੇ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਅਤੇ ਡੂੰਘੀ ਸਿਖਲਾਈ ਵਿੱਚ ਮਿਆਰੀ ਸਾਧਨ ਬਣ ਗਈਆਂ ਹਨ, ਜਿੱਥੇ ਗੈਰ-ਉੱਤਲ ਅਨੁਕੂਲਤਾ ਮੁੱਦੇ ਆਮ ਹਨ।
ਕਦਮ 6: ਆਪਣੀ ਤਰੱਕੀ ਦੀ ਕਲਪਨਾ ਕਰੋ
ਆਉ ਇਸਦੀ ਦੁਹਰਾਓ ਪ੍ਰਕਿਰਿਆ ਦੀ ਬਿਹਤਰ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਗਰੇਡੀਐਂਟ ਡੀਸੈਂਟ ਐਲਗੋਰਿਦਮ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਵੇਖੀਏ। ਦੁਹਰਾਓ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲੇ x-ਧੁਰੇ ਅਤੇ ਫੰਕਸ਼ਨ f(x) ਦੇ ਮੁੱਲ ਨੂੰ ਦਰਸਾਉਣ ਵਾਲੇ y-ਧੁਰੇ ਵਾਲੇ ਗ੍ਰਾਫ 'ਤੇ ਵਿਚਾਰ ਕਰੋ।
ਜਿਵੇਂ ਕਿ ਐਲਗੋਰਿਦਮ ਦੁਹਰਾਉਂਦਾ ਹੈ, x ਦਾ ਮੁੱਲ ਜ਼ੀਰੋ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ ਅਤੇ ਨਤੀਜੇ ਵਜੋਂ, ਫੰਕਸ਼ਨ ਵੈਲਯੂ ਹਰ ਕਦਮ ਦੇ ਨਾਲ ਘੱਟ ਜਾਂਦੀ ਹੈ। ਜਦੋਂ ਇੱਕ ਗ੍ਰਾਫ਼ 'ਤੇ ਪਲਾਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਘੱਟ ਤੋਂ ਘੱਟ ਤੱਕ ਪਹੁੰਚਣ ਵੱਲ ਐਲਗੋਰਿਦਮ ਦੀ ਪ੍ਰਗਤੀ ਨੂੰ ਦਰਸਾਉਂਦਾ, ਇੱਕ ਵੱਖਰੇ ਘਟਦੇ ਰੁਝਾਨ ਨੂੰ ਪ੍ਰਦਰਸ਼ਿਤ ਕਰੇਗਾ।
ਕਦਮ 7: ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਵਧੀਆ ਬਣਾਉਣਾ
ਸਿੱਖਣ ਦੀ ਦਰ () ਐਲਗੋਰਿਦਮ ਦੀ ਕਾਰਗੁਜ਼ਾਰੀ ਵਿੱਚ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਕਾਰਕ ਹੈ। ਅਭਿਆਸ ਵਿੱਚ, ਆਦਰਸ਼ ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਅਕਸਰ ਅਜ਼ਮਾਇਸ਼ ਅਤੇ ਗਲਤੀ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਕੁਝ ਓਪਟੀਮਾਈਜੇਸ਼ਨ ਤਕਨੀਕਾਂ, ਜਿਵੇਂ ਕਿ ਸਿੱਖਣ ਦੀ ਦਰ ਅਨੁਸੂਚੀ, ਸਿਖਲਾਈ ਦੇ ਦੌਰਾਨ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਬਦਲ ਸਕਦੀ ਹੈ, ਇੱਕ ਉੱਚ ਮੁੱਲ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਅਤੇ ਐਲਗੋਰਿਦਮ ਦੇ ਕਨਵਰਜੈਂਸ ਤੱਕ ਪਹੁੰਚਣ 'ਤੇ ਹੌਲੀ-ਹੌਲੀ ਇਸ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ।
ਇਹ ਵਿਧੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਤੇਜ਼ ਵਿਕਾਸ ਅਤੇ ਅਨੁਕੂਲਨ ਪ੍ਰਕਿਰਿਆ ਦੇ ਅੰਤ ਦੇ ਨੇੜੇ ਸਥਿਰਤਾ ਵਿਚਕਾਰ ਸੰਤੁਲਨ ਬਣਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ।
ਇੱਕ ਹੋਰ ਉਦਾਹਰਨ: ਇੱਕ ਕੁਆਡ੍ਰੈਟਿਕ ਫੰਕਸ਼ਨ ਨੂੰ ਘੱਟ ਕਰਨਾ
ਆਉ ਗਰੇਡੀਐਂਟ ਡਿਸੇਂਟ ਦੀ ਬਿਹਤਰ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ ਉਦਾਹਰਨ ਵੇਖੀਏ।
ਦੋ-ਅਯਾਮੀ ਚਤੁਰਭੁਜ ਫੰਕਸ਼ਨ g(x) = (x – 5)^2 'ਤੇ ਗੌਰ ਕਰੋ। x = 5 'ਤੇ, ਇਸ ਫੰਕਸ਼ਨ ਦਾ ਵੀ ਘੱਟੋ-ਘੱਟ ਹੈ। ਇਸ ਨਿਊਨਤਮ ਨੂੰ ਲੱਭਣ ਲਈ, ਅਸੀਂ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਲਾਗੂ ਕਰਾਂਗੇ।
1. ਸ਼ੁਰੂਆਤ: ਆਉ ਆਪਣੇ ਸ਼ੁਰੂਆਤੀ ਬਿੰਦੂ ਵਜੋਂ x0 = 8 ਨਾਲ ਸ਼ੁਰੂ ਕਰੀਏ।
2. g(x) ਦੇ ਗਰੇਡੀਐਂਟ ਦੀ ਗਣਨਾ ਕਰੋ: g'(x) = 2(x – 5)। ਜਦੋਂ ਅਸੀਂ x0 = 8 ਨੂੰ ਬਦਲਦੇ ਹਾਂ, x0 'ਤੇ ਗਰੇਡੀਐਂਟ 2 * (8 – 5) = 6 ਹੁੰਦਾ ਹੈ।
3. ਸਾਡੀ ਸਿੱਖਣ ਦੀ ਦਰ ਦੇ ਤੌਰ 'ਤੇ = 0.2 ਦੇ ਨਾਲ, ਅਸੀਂ x ਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਅਪਡੇਟ ਕਰਦੇ ਹਾਂ: x = x₀ – α * g'(x₀) = 8 – 0.2 * 6 = 6.8।
4. ਦੁਹਰਾਓ: ਜਦੋਂ ਤੱਕ ਕਨਵਰਜੈਂਸ ਨਹੀਂ ਪਹੁੰਚ ਜਾਂਦਾ ਅਸੀਂ ਕਦਮ 2 ਅਤੇ 3 ਨੂੰ ਜਿੰਨੀ ਵਾਰ ਲੋੜੀਂਦੇ ਦੁਹਰਾਉਦੇ ਹਾਂ। ਹਰੇਕ ਚੱਕਰ x ਨੂੰ 5 ਦੇ ਨੇੜੇ ਲਿਆਉਂਦਾ ਹੈ, g(x) = (x – 5)2 ਦਾ ਨਿਊਨਤਮ ਮੁੱਲ।
5. ਕਨਵਰਜੈਂਸ: ਵਿਧੀ ਅੰਤ ਵਿੱਚ x = 5 ਵਿੱਚ ਬਦਲ ਜਾਵੇਗੀ, ਜੋ ਕਿ g(x) = (x – 5)2 ਦਾ ਨਿਊਨਤਮ ਮੁੱਲ ਹੈ।
ਸਿੱਖਣ ਦੀਆਂ ਦਰਾਂ ਦੀ ਤੁਲਨਾ
ਆਉ ਸਾਡੀ ਨਵੀਂ ਉਦਾਹਰਨ ਵਿੱਚ α = 0.1, α = 0.2, ਅਤੇ α = 0.5 ਕਹੋ, ਵੱਖ-ਵੱਖ ਸਿੱਖਣ ਦੀਆਂ ਦਰਾਂ ਲਈ ਗਰੇਡੀਐਂਟ ਉਤਰਨ ਦੀ ਕਨਵਰਜੈਂਸ ਸਪੀਡ ਦੀ ਤੁਲਨਾ ਕਰੀਏ। ਅਸੀਂ ਦੇਖ ਸਕਦੇ ਹਾਂ ਕਿ ਇੱਕ ਘੱਟ ਸਿੱਖਣ ਦੀ ਦਰ (ਉਦਾਹਰਨ ਲਈ, = 0.1) ਦੇ ਨਤੀਜੇ ਵਜੋਂ ਇੱਕ ਲੰਮੀ ਕਨਵਰਜੈਂਸ ਹੋਵੇਗੀ ਪਰ ਇੱਕ ਵਧੇਰੇ ਸਹੀ ਘੱਟੋ-ਘੱਟ।
ਇੱਕ ਉੱਚ ਸਿੱਖਣ ਦੀ ਦਰ (ਉਦਾਹਰਨ ਲਈ, = 0.5) ਤੇਜ਼ੀ ਨਾਲ ਕਨਵਰਜ ਕਰੇਗੀ ਪਰ ਘੱਟੋ-ਘੱਟ ਦੇ ਬਾਰੇ ਵਿੱਚ ਓਵਰਸ਼ੂਟ ਜਾਂ ਓਸੀਲੇਟ ਹੋ ਸਕਦੀ ਹੈ, ਨਤੀਜੇ ਵਜੋਂ ਮਾੜੀ ਸ਼ੁੱਧਤਾ ਹੁੰਦੀ ਹੈ।
ਗੈਰ-ਕਨਵੈਕਸ ਫੰਕਸ਼ਨ ਹੈਂਡਲਿੰਗ ਦੀ ਇੱਕ ਮਲਟੀਮੋਡਲ ਉਦਾਹਰਨ
h(x) = sin(x) + 0.5x, ਇੱਕ ਗੈਰ-ਉੱਤਲ ਫੰਕਸ਼ਨ 'ਤੇ ਵਿਚਾਰ ਕਰੋ।
ਇਸ ਫੰਕਸ਼ਨ ਲਈ ਕਈ ਸਥਾਨਕ ਮਿਨੀਮਾ ਅਤੇ ਮੈਕਸਿਮਾ ਹਨ। ਸ਼ੁਰੂਆਤੀ ਸਥਿਤੀ ਅਤੇ ਸਿੱਖਣ ਦੀ ਦਰ 'ਤੇ ਨਿਰਭਰ ਕਰਦੇ ਹੋਏ, ਅਸੀਂ ਸਟੈਂਡਰਡ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਕਿਸੇ ਵੀ ਸਥਾਨਕ ਮਿਨੀਮਾ ਨੂੰ ਬਦਲ ਸਕਦੇ ਹਾਂ।
ਅਸੀਂ ਐਡਮ ਜਾਂ ਸਟੋਕੈਸਟਿਕ ਗਰੇਡੀਐਂਟ ਡੀਸੈਂਟ (SGD) ਵਰਗੀਆਂ ਹੋਰ ਉੱਨਤ ਅਨੁਕੂਲਨ ਤਕਨੀਕਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਦਾ ਹੱਲ ਕਰ ਸਕਦੇ ਹਾਂ। ਇਹ ਵਿਧੀਆਂ ਫੰਕਸ਼ਨ ਦੇ ਲੈਂਡਸਕੇਪ ਦੇ ਵੱਖ-ਵੱਖ ਖੇਤਰਾਂ ਦੀ ਪੜਚੋਲ ਕਰਨ ਲਈ ਅਨੁਕੂਲ ਸਿੱਖਣ ਦੀਆਂ ਦਰਾਂ ਜਾਂ ਬੇਤਰਤੀਬੇ ਨਮੂਨੇ ਦੀ ਵਰਤੋਂ ਕਰਦੀਆਂ ਹਨ, ਇੱਕ ਬਿਹਤਰ ਘੱਟੋ-ਘੱਟ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਸੰਭਾਵਨਾ ਨੂੰ ਵਧਾਉਂਦੀਆਂ ਹਨ।
ਸਿੱਟਾ
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਐਲਗੋਰਿਦਮ ਸ਼ਕਤੀਸ਼ਾਲੀ ਅਨੁਕੂਲਨ ਸਾਧਨ ਹਨ ਜੋ ਉਦਯੋਗਾਂ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਵਿਆਪਕ ਤੌਰ 'ਤੇ ਵਰਤੇ ਜਾਂਦੇ ਹਨ। ਉਹ ਗਰੇਡੀਐਂਟ ਦੀ ਦਿਸ਼ਾ ਦੇ ਅਧਾਰ 'ਤੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਹੋਏ ਅਪਡੇਟ ਕਰਕੇ ਕਿਸੇ ਫੰਕਸ਼ਨ ਦੇ ਸਭ ਤੋਂ ਹੇਠਲੇ (ਜਾਂ ਵੱਧ ਤੋਂ ਵੱਧ) ਦੀ ਖੋਜ ਕਰਦੇ ਹਨ।
ਐਲਗੋਰਿਦਮ ਦੇ ਦੁਹਰਾਅ ਵਾਲੇ ਸੁਭਾਅ ਦੇ ਕਾਰਨ, ਇਹ ਉੱਚ-ਆਯਾਮੀ ਸਥਾਨਾਂ ਅਤੇ ਗੁੰਝਲਦਾਰ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲ ਸਕਦਾ ਹੈ, ਇਸ ਨੂੰ ਮਸ਼ੀਨ ਸਿਖਲਾਈ ਅਤੇ ਡੇਟਾ ਪ੍ਰੋਸੈਸਿੰਗ ਵਿੱਚ ਲਾਜ਼ਮੀ ਬਣਾਉਂਦਾ ਹੈ।
ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਆਸਾਨੀ ਨਾਲ ਅਸਲ-ਸੰਸਾਰ ਦੀਆਂ ਮੁਸ਼ਕਲਾਂ ਨਾਲ ਨਜਿੱਠ ਸਕਦਾ ਹੈ ਅਤੇ ਸਿੱਖਣ ਦੀ ਦਰ ਨੂੰ ਧਿਆਨ ਨਾਲ ਚੁਣ ਕੇ ਅਤੇ ਸਟੋਕੈਸਟਿਕ ਗਰੇਡੀਐਂਟ ਡਿਸੈਂਟ ਅਤੇ ਐਡਮ ਵਰਗੀਆਂ ਉੱਨਤ ਭਿੰਨਤਾਵਾਂ ਨੂੰ ਲਾਗੂ ਕਰਕੇ ਤਕਨਾਲੋਜੀ ਅਤੇ ਡਾਟਾ-ਅਧਾਰਿਤ ਫੈਸਲੇ ਲੈਣ ਵਿੱਚ ਬਹੁਤ ਯੋਗਦਾਨ ਪਾ ਸਕਦਾ ਹੈ।
ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ